找不到列:1054字段字段“电子邮件”在哪里未知

时间:2019-08-20 21:46:33

标签: laravel laravel-5

我现在有3个专栏。

enter image description here

什么时候,我使用电子邮件Student登录test.gmail.com标题,我可以看到我的私人信息

enter image description here

然后,我总是用电子邮件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'));
}

谢谢您的帮助。

1 个答案:

答案 0 :(得分:2)

您很可能需要在可填充数组中添加电子邮件列:

protected $fillable = ['user_id','instruction', 'description', 'fk_eleve', 'email'];

您是否为此进一步创建了适当的迁移,例如表中是否包含电子邮件列?