得到所有雄辩的模型没有关系

Nic*_*art 9 php laravel eloquent laravel-5

我想获取所有没有关系的模型.

与获取具有一个的模型类似:

return $this->model->has('quote')->orderBy('created_at', 'desc')->get();
Run Code Online (Sandbox Code Playgroud)

我基本上想要反过来.我找不到任何文档来做到这一点.

基本上这个查询:

SELECT * FROM custom_design_requests
RIGHT JOIN quotes
ON quotes.`custom_design_request_id` = `custom_design_requests`.id
Run Code Online (Sandbox Code Playgroud)

但是我想避免使用Query Builder(DB::table('custom_design_requests')->rightJoin('quotes', 'quotes.custom_design_request_id', '=', 'custom_design_requests.id')->get();),因此我有一组模型实例.

谢谢

The*_*pha 12

你可以尝试这样的事情:

$this->model->has('quote', '<', 1)->orderBy('created_at', 'desc')->get();
Run Code Online (Sandbox Code Playgroud)


Yah*_*din 8

我相信这比公认的解决方案更好:

$this->model->doesntHave('quote')->orderBy('created_at', 'desc')->get();
Run Code Online (Sandbox Code Playgroud)

这在这里有更详细的描述:

https://laravel.com/docs/5.4/eloquent-relationships#querying-relationship-absence