1
我想過濾這個$authors
集合。如何在laravel中使用.each()時過濾收集行?
$authors = Author::get();
在我看來,我需要顯示作者與多少本書有關。
我使用.each()合併count
到$authors
並將其返回到它被調用的位置。
return $authors->each(function($author, $key){
$author->count = Author::findOrFail($author->id)->books()->count();
});
的問題是「我怎樣才能刪除/過濾器,如果作者沒有任何wrriten一本書(計數< = 0)?」
我試過這個,它失敗了。
return $authors->each(function($author, $key){
$author->count = Author::findOrFail($author->id)->books()->count();
$author->filter(function($author, $key){
return $author->count <= 0;
})
});
確定...我只是忘了在我的問題的一些代碼(更新現在)。 – Zugor
這是一個很好的信息。但是,如果計數值爲零,我如何刪除/篩選行。 – Zugor
@HeinHtutAung只需添加簡單的條件,如@if($ author-> books_count)'來檢查作者是否有書。或者你可以跳過用' - > has('books')'加載沒有書籍的作者。如果你想過濾數據,使用'filter()'方法。 –