Я хотел бы получить все модели, у которых нет отношений.Получить все красноречивые модели без связи
Подобно выборки моделей, которые имеют одно:
return $this->model->has('quote')->orderBy('created_at', 'desc')->get();
Я в основном хотел бы иметь обратное этому. Однако я не могу найти документацию, чтобы сделать это.
В основном этот запрос:
SELECT * FROM custom_design_requests
RIGHT JOIN quotes
ON quotes.`custom_design_request_id` = `custom_design_requests`.id
Но я хотел бы, чтобы избежать необходимости использовать Query Builder (DB::table('custom_design_requests')->rightJoin('quotes', 'quotes.custom_design_request_id', '=', 'custom_design_requests.id')->get();
), так что у меня есть коллекция экземпляров модели.
Благодаря
Спасибо! То, что сделал трюк, должно иметь хотя бы из этого. :) –
Хотя метод has() кажется очень простым в использовании, вы должны иметь в виду, что Eloquent делает внутренне, когда вы его вызываете. В результате запроса будет выполняться подзапрос для каждой записи, имеющейся в вашей базе данных, которая может быть неэффективной, если у вас много данных. В вышеприведенном случае результат SQL будет выглядеть примерно так: SELECT * FROM models WHERE (SELECT COUNT (*) FROM quotes WHERE model_id = models.id) <1 " –