1、定义路由
Route::get("shownews",'News4Controller@show');
2、模型层查询数据
/**
* 获取多条数据
* @param array $where
* @return mixed
*/
public static function getAll($where=[]){
return self::where($where)->paginate();
}
3、控制器层展示数据
public function show(){
$data = News4::getAll();//调用模型层查询数据
return view('news4/show',['data'=>$data]);//渲染视图层
}
4、视图层显示数据
@foreach($data as $v)
<tr>
<td>{{$v->id}}</td>
<td dataid="{{$v->id}}">
@if($v->state=="正常")
<span class="btn-success btn">{{$v->state}}</span>
@else
<span class="btn-danger btn">{{$v->state}}</span>
@endif
</td>
<td class="state" dataid="{{$v->id}}">
@if($v->state=="正常")
<img src="../images/r.png" state="{{$v->state}}">
@else<img src="../images/t.png" state="{{$v->state}}">
@endif</td>
<td>删除 修改</td>
</tr>
@endforeach
{{$data->links()}}
5、书写事件 发动数据 ajax
$(".btn").click(function () {
//$(this)代表你点击的元素 parent父集 td attr 获取自定义属性 dataid
var id = $(this).parent('td').attr('dataid');
var state = $(this).text();//text文本属性
var _this=$(this);//因为ajax中this冲突
$.get('change', {id: id, state: state}, function (data) {
if(data.code==0){
_this.text(data.data);
if(data.data=='正常'){
_this.removeClass("btn-danger");
_this.addClass("btn-success");
}else{
_this.removeClass("btn-success");
_this.addClass("btn-danger");
}
}else{
alert(data.msg);
}
}, 'json')
})
6、修改的接口 控制层
public function change(Request $request){
$id=$request['id'];
$state= $request['state'];
if($state=="正常"){
$state="冻结";
}else{
$state="正常";
}
$res= News4::up(['id'=>$id],['state'=>$state]);
if($res){
return ['code'=>0,'data'=>$state,'msg'=>'修改成功'];
}else{
return ['code'=>1,'data'=>"",'msg'=>'修改失败'];
}
}
7、修改的模型层
public static function up($where,$data){
return self::where($where)->update($data);
}