laravel 标题在Eloquent生成器示例上不存在

zaqlnxep  于 2023-02-20  发布在  其他
关注(0)|答案(2)|浏览(87)

我知道这是一个问题,但没有解决方案,帮助我。所以,我有表'About'在数据库和模型About.php。我想只检索一列从数据库,如标题,并使用以下代码:

$abouts = About::orderBy('created_at', 'desc');
 return view('about')->with('abouts', $abouts);

并且鉴于:

{{$abouts->title}}

以及如何解决这个问题。我不想使用foreach循环。它是可能的吗?如何?

mwg9r5ms

mwg9r5ms1#

$abouts = About::orderBy('created_at', 'desc')->get();
return view('about')->with('abouts', $abouts);

在Laravel的Eloquent ORM中,get()方法检索与查询匹配的所有记录。它返回一个模型集合,您可以使用@foreach循环在刀片模板中循环。例如:

@foreach($abouts as $about)
    <p>{{ $about->title }}</p>
@endforeach

另一方面,first()方法检索与查询匹配的第一个模型。它返回单个模型,您可以在刀片模板中显示该模型,而无需循环。例如:

$abouts = About::orderBy('created_at', 'desc')->get();
return view('about')->with('abouts', $abouts);

和刀片

<p>{{ $abouts->title }}</p>

最后,paginate($perPage)方法用于检索分页结果,返回一个LengthAwarePaginator示例,该示例设计用于Laravel的分页功能。然后,您可以使用links()方法呈现页面导航链接。

$abouts = About::orderBy('created_at', 'desc')->paginate(10);
return view('about')->with('abouts', $abouts);

在blade模板中,可以像以前一样使用@foreach循环遍历当前结果页。要显示分页链接,可以在循环后添加以下行:

{{ $abouts->links() }}

这将呈现导航到上一页、下一页和其他结果页的链接。

ddarikpa

ddarikpa2#

尝试拔()
pluck方法检索给定键的所有值:

$collection = collect([
['product_id' => 'prod-100', 'name' => 'Desk'],
['product_id' => 'prod-200', 'name' => 'Chair'],
]);

$plucked = $collection->pluck('name');

$plucked->all();

// ['Desk', 'Chair']

在控制器中:

$titles = About::orderBy('created_at', 'desc')->pluck('title')->all();
return view('about')->with('titles');

在叶片使用中:

{{$titles[0]}}

参考:https://laravel.com/docs/9.x/collections#method-pluck

相关问题