您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
laravel实践之商城1(分页,操作提示,软删除)
发布时间:2019-10-02 11:08:56编辑:雪饮阅读()
laravel中的分页
后端:
public function getDss(Request $request){
$users=Db::table('users')->orderBy('id','desc')->where(function($query) use($request){
$keyword=$request->input('keyword');
if(!empty($keyword)){
$query->where('name','like','%'.$keyword.'%');
}
})
->paginate($request->input('num',3));
return view('layout.index3',['users'=>$users,'request'=>$request]);
}
这里语法很简单,主要是paginate函数用来分页,这里用请求的变量num作为分页大小依据,当不含该变量则以3为分页大小
前端:
<div>
<ul>
@foreach ($users as $user)
<li>{{$user->id}}</li>
@endforeach
</ul>
{!! $users->appends($request->only(['num','keyword']))->render() !!}
</div>
前端这里主要是render函数负责分页实现,appends函数这里是为了给分页出来的每个页的url地址追加上之前请求的num与keyword参数,当然之前没有请求这两个参数则不传
laravel中的操作提示
后端:
public function getGsdsc(){
$info=\App\Test::find(6);
$info->name='纵横在千年间,轮回转';
$res=$info->save();
if($res){
return redirect('/test2/dss')->with('info','保存成功');
}
return back()->with('info','保存失败');
}
这里无论成功或失败,都向session中写入了操作结果
前端:
@if (session('info'))
message:{{session('info')}}
@endif
前端模板就很好理解了,session中有info则就读取即可
laravel中的软删除
模型定义:
namespace App;
use Illuminate\Auth\Authenticatable;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Auth\Passwords\CanResetPassword;
use Illuminate\Foundation\Auth\Access\Authorizable;
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
use Illuminate\Contracts\Auth\Access\Authorizable as AuthorizableContract;
use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;
use Illuminate\Database\Eloquent\SoftDeletes;
class User extends Model implements AuthenticatableContract,
AuthorizableContract,
CanResetPasswordContract
{
use Authenticatable, Authorizable, CanResetPassword,SoftDeletes;
/**
* The database table used by the model.
*
* @var string
*/
protected $table = 'users';
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = ['name', 'email', 'password'];
/**
* The attributes excluded from the model's JSON form.
*
* @var array
*/
protected $hidden = ['password', 'remember_token'];
}
数据表准备:
在users中准备一个字段deleted_at并且其默认值为null
使用:
在控制器中和正常的使用删除功能在语法上没有什么区别,如:
$info=\App\User::get()->first()->delete();
关键字词:laravel,分页,操作提示,软删除