我现在有3个专栏。
什么时候,我使用电子邮件Student
登录test.gmail.com
标题,我可以看到我的私人信息
然后,我总是用电子邮件Feedback
登录到规则test.gmail.com
中,我收到错误消息:
SQLSTATE [42S22]: Column not found: 1054 Field Field 'email' unknown in where (SQL: select count (*) as aggregate from
返回where
电子邮件= test@gmail.com)
我在表Feedbacks
上的字段是:
protected $fillable = ['user_id','instruction', 'description', 'fk_eleve'];
我的函数index()如下:
public function index(Request $request)
{
$user = $request->user();
$feedbacks = Feedback::query()
->when($user->hasRole('admin') !== true, function (Builder $query) use ($user) {
$query->where('email', $user->email);
})
->when($request->has('search'), function (Builder $query) use ($request) {
$query->join('eleves', 'feedbacks.fk_eleve', '=', 'eleves.id')->orderBy('eleves.nom', 'asc')->where('eleves.nom','like','%'.$request->input('search').'%');
})
->paginate(5);
return view('admin.feedbacks.index', compact('feedbacks'))
->with('display_search', $user->hasRole('admin'));
}
谢谢您的帮助。
答案 0 :(得分:2)
您很可能需要在可填充数组中添加电子邮件列:
protected $fillable = ['user_id','instruction', 'description', 'fk_eleve', 'email'];
您是否为此进一步创建了适当的迁移,例如表中是否包含电子邮件列?