我对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