запрос на выборку с отношениями не дает результатов в laravel eloquent - PullRequest
0 голосов
/ 25 мая 2018
records = Student::with(array('Mark' => function($marks)
    {
    $marks->select(DB::raw('sum(obtain_marks)'))->with(array('Subject' => function($subject){
    $subject->orderby('subject_name')->select(DB::raw('count(subjects.id)','sum(total_marks)','subject_name'));
        }));
    }))->where('id', $id)->get();

Почему это не выполняется?

работает в mysql select count (subjects.id), sum (subjects.total_marks), sum (marks.obtain_marks), subjects.subject_name из внутренних студентовобъединить отметки на студентовэто работает в MySQL.

1 Ответ

0 голосов
/ 25 мая 2018

в Выберите, вы должны выбрать столбец, где у вас есть локальный ключ

$records = Student::with(['Mark' => function($marks){
    $marks->select(DB::raw('sum(obtain_marks)'), 'Subject_id' /* same Problem here ->select('subject_id')*/)->with(['Subject' => function($subject){
        $subject->orderby('subject_name')
                ->select(DB::raw('count(subjects.id)','sum(total_marks)','subject_name'));
    }]);
}])
->where('id', $id)
->select('Mark_id') // you must select foreign key column to use relationship
->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...