public function index()
{
//
$newsList=DB::table('news')->orderBy('id','desc')->paginate(10);
return view('news.index',compact('newsList'));
}
public function create()
{
//
return view('news.index');
}
public function store(Request $request)
{
//
$data=$request->except('_token');
$data['user_id']=1;
$res=DB::table('news')->insert($data);
if($res){
return redirect('/news');
}
}
public function show($id)
{
//
$news=DB::table('news')->where('id',$id)->first();
return view('news.show',compact('news'));
}
public function edit($id)
{
//
$news=DB::table('news')->find($id);
return view('news.edit',compact('news'));
}
public function update(Request $request, $id)
{
//
$news=$request->except('_token','_method');
$res=DB::table('news')->where('id',$id)->update($news);
return redirect('news');
}
public function destroy($id)
{
//
DB::table('news')->where('id',$id)->delete();
return redirect('news');
}
视图 父视图 grail.blade.php
<body>
<header>
</header>
<aside>
</aside>
<main>
@yield('main')
</main>
<aside>
</aside>
<footer>
</footer>
<style type="text/css" media="screen">
*{
margin: 0;
padding: 0;
}
body *{
background-color:lightblue;
}
body{
display: grid;
grid-template-rows: 160px minmax(400px,auto) 60px;
grid-template-columns:200px minmax(400px, 800px) 200px;
gap:2px;
place-content:center;
}
header,footer{
grid-column-end:span 3;
}
main{
padding: 10px;
}
</style>
</body>
index.blade.php
@extends('layout.grail')
@section('title','新闻列表')
@section('main')
<h2>新闻列表</h2>
<table class="table">
<thead>
<tr>
<th>编号</th><th>标题</th><th >作者</th><th>类别</th><th> *** 作</th>
</tr>
</thead>
<tbody>
@foreach($newsList as $news)
<tr>
<td>{{$news->id}}</td>
<td>
<a href="{{route('news.show',$news->id)}}">{{$news->title}}</a>
</td>
<td>{{$news->user_id}}</td>
<td>{{$news->category_id}}</td>
<td class="operation">
<a href="{{route('news.edit',$news->id)}}">修改</a>
<form action="{{route('news.destroy',$news->id)}}" method="post">
@method('delete')
<button onclick="return confirm('您确定要删除吗?')">删除</button>
@csrf
</form>
</td>
</tr>
@endforeach
</tbody>
</table>
{{ $newsList->links('vendor.pagination.bootstrap-4') }}
@endsection
<style>
button{
border:none;
color: #0d6efd;
}
table a{
display: block;
text-decoration-line: none;
margin-right: 20px;
}
table a:hover{
text-decoration-line: underline;
}
.optgroup>a,button:hover {
text-decoration-line:underline;
}
.operation{
display: flex;
}
</style>
addNews.blade.php
@extends('layout.grail')
@section('title','添加新闻')
@section('main')
<form action="{{route('news.store')}}" method="post">
<div class="form-group">
<label for="title">标题</label>
<input type="text" id="title" name="title" class="form-control">
</div>
<div class="form-group">
<label for="category_id">类别</label>
<select name="category_id" id="category_id" class="form-control">
<option value="0">请选择新闻类别</option>
<option value="1">时政要闻</option>
<option value="2">经济动态</option>
<option value="3">健康信息</option>
<option value="4">体育新闻</option>
<option value="5">娱乐八卦</option>
<option value="6">国际新闻</option>
</select>
</div>
<div class="form-group">
<label for="content">内容</label>
<textarea name="content" id="content" cols="30" rows="10" class="form-control" ></textarea>
</div>
<div>
<input type="submit" value="添加">
</div>
@csrf
</form>
@endsection
edit.blade.php
@extends('layout.grail')
@section('title','修改新闻')
@section('main')
<form action="{{route('news.update',$news->id)}}" method="post">
@method('put')
<div class="form-group">
<label for="title">标题</label>
<input type="text" id="title" name="title"
class="form-control" value="{{$news->title}}">
</div>
<div class="form-group">
<label for="category_id">类别</label>
<select name="category_id" id="category_id" class="form-control">
<option value="0">请选择新闻类别</option>
<option value="1">时政要闻</option>
<option value="2">经济动态</option>
<option value="3">健康信息</option>
<option value="4">体育新闻</option>
<option value="5">娱乐八卦</option>
<option value="6">国际新闻</option>
</select>
</div>
<div class="form-group">
<label for="content">内容</label>
<textarea name="content" id="content" cols="30" rows="10" class="form-control" >
{{$news->content}}
</textarea>
</div>
<div>
<input type="submit" value="修改" >
</div>
@csrf
</form>
@endsection
show.blade.php
@extends('layout.grail')
@section('title',$news->title)
@section('main')
<div>{{$news->title}}</div>
<div>
作者: {{$news->user_id}}
<span>{{$news->category_id}}</span>
</div>
<hr>
<div>
{{$news->content}}
</div>
@endsection
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)