我對Laravel的雄辯ORM中的各種函數以及它們返回的內容感到困惑。我有一個博客的一篇文章模型 - 如果我寫的任何那麼下面的我找回所有的樁的陣列:在Laravel中,哪些Eloquent方法返回數據並返回哪些對象?
$posts = Post::all();
$posts = Post::get();
$posts = Post::with('user')->all();
但是,如果我一些連鎖等方法,這是行不通的。例如,這給出了未處理的異常錯誤:「Method [all]沒有在Query類上定義。」如果我使用paginate函數,我根本得不到結果數組。
$posts = Post::with('user')->order_by('updated_at', 'desc')->paginate(5);
// index.blade.php
@foreach ($posts as $post)
{{ $post->id }}
@endforeach
我得到錯誤:「嘗試獲取非對象的屬性」。原來的數據是$posts->results
,而不是$posts
。
這一切都很混亂!我該如何解決這個問題?這些函數中的每一個都會返回什麼,以及如何正確鏈接它們?
14.8k,對不對?我並不是說你不能在這裏問這個問題,但是閱讀代碼可以爲你自己解決問題,從而獲得更好的學習效果。 – markus
@ markus-tharkun也許,但我是Laravel的新手,並認爲別人可能會比我更深入地解釋一些外星人代碼(從我所看到/聽到的記錄中沒有很好的記錄)。這對任何其他人都有用。 – DisgruntledGoat
另外,我沒有看到我的代表如何,4年獲得14k是沒有什麼,就像平均每天1 upvote ... – DisgruntledGoat