【发布时间】:2021-11-26 05:41:53
【问题描述】:
目前使用 Laravel 8,我必须在页面上显示所有文章,但只显示在我的数据库中包含特定行值的文章。例如,在这一个中,我在所需表中有一个名为“is_reserved”的列,因为 TinyInt 充当 True 或 false (1-0)。
我到处搜索,我无法理解也找不到正确的过滤语法,只显示未保留的文章 (is_reserved = 0)。
在我的刀片视图文件中,我有一个 @foreach 循环,它从我的控制器中获取我的项目,如下所示。顺便说一句,这不是我想要的方式。我没有想法。
TL:DR:我只想显示数据库中的所有项目,但只显示具有特定行值的项目。
<section class="row justify-content-evenly mt-5 mx-sm-3">
@foreach ($donations as $donation)
<article class="box col-md-5 col-sm-12 row p-3 mt-md-3 mt-sm-5 d-flex justify-content-around">
<img src="{{ $donation->image }}" alt="image" class="col" style="border-radius: 100%;">
<div class="col">
<p style="text-align: justify;">{{ Str::limit($donation->description, 80) }}</p>
<div class="d-flex justify-content-start flex-column text-left" style="width: auto; height: 100px;">
<h5>Location: Quebec</h5>
<p>Meteo: Cold</p>
<div class="row justify-content-between">
<button class="col-5 btn yellowBtn">reserve</button>
<a class="col-5 btn greenBtn" href="{{route('view-item', $donation->id)}}">View</a>
</div>
</div>
</div>
</article>
@endforeach
【问题讨论】:
-
"我到处搜索,我无法理解也找不到正确的语法 [...]" - 实际上很容易在官方文档中找到:@987654321 @ 或 laravel.com/docs/8.x/eloquent#building-queries... 旁注,您不会在视图中运行查询,而是在控制器中运行。
-
在转换模型时只需将键定义为整数,然后设置 where 条件 ->where('is_reserved', 1) laravel.com/docs/8.x/eloquent-mutators#attribute-casting
标签: php laravel laravel-blade