Я использую Laravel 5.6, и у меня есть стандартный запрос
Order::where('dict_statuses_id', 1)
->leftJoin('dict_statuses', 'dict_statuses_id', '=', 'dict_statuses.id')
->get();
Так что у меня есть список заказов с подробной информацией, где статус = 1 (новый) после таблицы соединения, я вижу статус как Новый или Полный.Есть ли способ изменить этот запрос, используя whereHas?
я пытался использовать
Order::whereHas('status', function($q){
$q->where('dict_statuses_id', 1);
})->get();
Но нет результатов, в модели Порядок у меня
public function status()
{
return $this->hasMany('App\DictStatuses');
}
[Обновлено]
У меня ошибка:
Column not found: 1054 Unknown column 'dict_statuses.orders_id'
in 'where clause' (SQL: select * from `orders` where exists
(select * from `dict_statuses` where `orders`.`id` = `dict_statuses`.`orders_id` and `dict_statuses_id` = 1)
and `orders`.`deleted_at` is null)
В моей таблице есть таблица Заказы , где находится поле: dict_statuses_id и таблица dict_statuses с полями: id , public_name
Почему ошибка составляет около dict_statuses.orders_id