index.blade.php
@extends('layout.grail')
@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->category_id}}</td>
<form action="{{route('news.destroy',$news->id)}}" method="post"><td class="operation"><a href="{{route('news.edit',$news->id)}}">修改</a>
@method('delete')
<button onclick="return confirm('您确定删除吗?')"><a style="letter-spacing:6px">删除</a></button>
@csrf
@method('delete')
<button onclick="return confirm('您确定删除吗?')" ><a style="letter-spacing:6px">删除</a></button>
@csrf
@method('delete')
<button onclick="return confirm('您确定删除吗?')"><a style="letter-spacing:6px">删除</a></button>
@csrf
</form>
</td>
</tr>
@endforeach
</tbody>
</table>
{{ $newsList->links('vendor.pagination.bootstrap-4') }}
<link rel="stylesheet" href="{{asset('css/bootstrap.min.css')}}" />
@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-line:underline;
}
.operation{
display:flex;
}
</style>
NewsController.php(控制器)
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class NewsController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
//
$newsList=DB::table("news")->orderBy('id','asc')->paginate(10);
// $newsList=news::orderBy('id','asc')->paginate(10);
return view('news.index',compact('newsList'));
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//
return view('news.addNews');
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
// dd($request->all());
$data=$request->except('_token');
$data['user_id']=1;
// dd($data);
$res=DB::table('news')->insert($data);
if($res){
return redirect('/news');
}else{
dd("添加失败");
}
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
$news=DB::table('news')->where('id',$id)->first();
return view('news.show',compact('news'));
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
//
$news=DB::table('news')->find($id);
return view('news.edit',compact('news'));
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request,$id)
{
$news=$request->except('_token','_method');
$res=DB::table('news')->where('id',$id)->update($news);
return redirect('news');
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
//
DB::table('news')->where('id',$id)->delete();
return redirect('news');
}
}
?>
web.php(路由)
Route::resource('news', newscontroller::class);