首页 > 解决方案 > 未找到列:1054 Champ 'feedbacks.student_id

问题描述

我在反馈和学生之间有一个 belongsTo 关系。

在我的表中Students,我有 3 个字段(id、name、firstname)。

在我Feedbacks有 3 个字段(id、instruction、fk_student)。

我按字母顺序排序不正确。我有消息:

Column not found: 1054 Champ 'feedbacks.student_id

public function index(Request $req) 
    {

    if ($req->search == "") {
        $feedbacks = Feedback::join('students', 'feedbacks.student_id', '=', 'students.id')->orderBy('students.name', 'asc')->select('feedbacks.*')->paginate(5);
        return view('admin.feedbacks.index', compact('feedbacks'));

    } else {

        $validated = $req->validate([
            'search' => 'alpha', 
        ]);

        $feedbacks = Feedback::join('students', 'feedbacks.student_id', '=', 'students.id')->where('students.name','like', '%' . $req->search . '%')->orderBy('students.name', 'asc')->select('feedbacks.*')->paginate(5);

        return view('admin.feedbacks.index', compact('feedbacks'));
        }

    }

谢谢

标签: laravellaravel-5

解决方案


根据你在这里说的

在我的反馈中,我有 3 个字段(id、instruction、fk_student)。

因此它应该是这样的

public function index(Request $req) 
{

if ($req->search == "") {
    $feedbacks = Feedback::join('students', 'feedbacks.fk_student', '=', 'students.id')->orderBy('students.name', 'asc')->select('feedbacks.*')->paginate(5);
    return view('admin.feedbacks.index', compact('feedbacks'));

} else {

    $validated = $req->validate([
        'search' => 'alpha', 
    ]);

    $feedbacks = Feedback::join('students', 'feedbacks.fk_student', '=', 'students.id')->where('students.name','like', '%' . $req->search . '%')->orderBy('students.name', 'asc')->select('feedbacks.*')->paginate(5);

    return view('admin.feedbacks.index', compact('feedbacks'));
    }

}

你在反馈中说它fk_student不是student_id

希望能帮助到你


推荐阅读