如何只显示包含特定值的所有文章?
How to only show all articles that contains a particular value?
目前使用 Laravel 8,我必须在页面上显示所有文章,但只显示在我的数据库中包含特定行值的文章。例如,在这一个中,我在所需的 table 中有一列称为“is_reserved”,因为 TinyInt 充当真或假 (1-0)。
我到处都搜索过,但我无法理解也找不到正确的过滤语法,只能显示未保留的文章 (is_reserved = 0)。
在我的 blade 视图文件中,我有一个 @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
在遍历它们之前将逻辑移动到控制器/服务,然后将必要的行发送到您的 blade(可能在 array/object 中使用 $is_reserved
布尔值)
请记住,如果您要深入研究 blade / 模板文件本身的逻辑,最好将其后退一步,只为模板提供尽可能简单的数据。
以您的问题为例,在将行发送到模板之前,只显示符合您需要的行。
例如
$rows = DB::table('your_table')->where('is_reserved', '1')->get();
return $rows; //or extend your template here
否则,您可以在模板中添加一个 @if
条件,并且仅在满足特定条件时才呈现
目前使用 Laravel 8,我必须在页面上显示所有文章,但只显示在我的数据库中包含特定行值的文章。例如,在这一个中,我在所需的 table 中有一列称为“is_reserved”,因为 TinyInt 充当真或假 (1-0)。
我到处都搜索过,但我无法理解也找不到正确的过滤语法,只能显示未保留的文章 (is_reserved = 0)。
在我的 blade 视图文件中,我有一个 @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
在遍历它们之前将逻辑移动到控制器/服务,然后将必要的行发送到您的 blade(可能在 array/object 中使用 $is_reserved
布尔值)
请记住,如果您要深入研究 blade / 模板文件本身的逻辑,最好将其后退一步,只为模板提供尽可能简单的数据。
以您的问题为例,在将行发送到模板之前,只显示符合您需要的行。
例如
$rows = DB::table('your_table')->where('is_reserved', '1')->get();
return $rows; //or extend your template here
否则,您可以在模板中添加一个 @if
条件,并且仅在满足特定条件时才呈现