gpt4 book ai didi

php - Laravel first() 与 take(1)->get()

转载 作者:可可西里 更新时间:2023-11-01 12:28:15 27 4
gpt4 key购买 nike

我正在学习 Laravel,并且正在关注一个正在构建博客的 YouTube 教程。无论如何,我正在尝试制作一个显示单个博客文章的页面,并使用 slug 而不是 id 来显示它。不管怎样,这是我的博客 Controller :

class BlogController extends Controller {

public function getSingle($slug) {
$post = Post::where('slug', $slug)->take(1)->get();
return view('blog/single')->with('post', $post);
}
}

但是这样,它不会工作.. 例如,在我的博客/单一 View 上,我无法访问 $post->title。但是,当我这样做时:

class BlogController extends Controller {

public function getSingle($slug) {
$post = Post::where('slug', $slug)->first();
return view('blog/single')->with('post', $post);
}
}

.. 它工作正常。我有时可以访问标题、正文和创建/更新。

第一种方法不起作用的原因是什么?

提前致谢。 :)

最佳答案

这是因为take(1)->get() 会返回一个collection有一个元素。

first() 将返回元素本身。

关于php - Laravel first() 与 take(1)->get(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40958306/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com