2017-01-30 23 views
1

我有兩個雄辯模型(說:書籍和作者)有一對多關係(一個作者可以有很多書,每本書只有一個作者)。該數據庫還包含根本沒有書籍的作者。我想檢索所有有書的作者列表 - 缺少重複作者。獲得一個清晰的所有相關的模型實例在Eloquent

目前我遍歷所有圖書實例以及作者添加到列表中,如果它尚未在列表中:

$books = Books::all(); 
$list = []; 
foreach ($books as $book) { 
    if (! in_array($book->author, $list)) { 
     array_push($list, $book->author); 
    } 
} 

我不知道是否有一個更聰明的方式來獲得這一點,即一種方式,這導致了數據庫查詢的數量。

回答

1

我想找回它有一本書所有作者的名單 - whitout有重複的作者

使用has()方法:

$authorsWithBooks = Author::has('books')->get(); 
1

$書=書::用( '作者') - >獲得();

+0

這將獲得與他們的作者的所有書籍。這不是OP想要的。 –

相關問題