2017-01-30 2 views
1

1対多の関係を持つ2つのEloquentモデル(書籍と著者)があります(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

$をブック=書籍:: ( 'author') - > get();

+0

これは著者とすべての書籍を取得します。それはOPが望んでいるものではありません。 –

関連する問題