Результат Laravel Query Builder с использованием запроса join () - PullRequest
1 голос
/ 18 июня 2019

Следующий запрос работает нормально, но проблема в том, что он дает идентификатор таблицы событий вместо идентификатора таблицы задач в выходном результате.

Task::join('events', function ($join) {
    $join->on('events.task_id', '=', 'tasks.id')
        ->where('events.event_type', '=', 'Task')
        ->where('events.task_stage', '!=', 'assigned');
})->select('tasks.*')
->get();

Ответы [ 2 ]

2 голосов
/ 18 июня 2019

попробуйте это

используйте псевдоним mysql здесь

Task::join('events', function ($join) {
        $join->on('events.task_id', '=', 'tasks.id')
            ->where('events.event_type', '=', 'Task')
            ->where('events.task_stage', '!=', 'assigned');
 })->select('tasks.*','tasks.id as taskId')->get();
2 голосов
/ 18 июня 2019

Попробуйте, нужно работать

->select('*', 'tasks.id as taskID')->get();

Это потому, что, возможно, и таблица задач, и таблица событий имеют поле идентификатора.Поэтому вам нужно использовать отдельный запрос для указания идентификатора.

...