gpt4 book ai didi

php - Laravel 在哪里使用 if else

转载 作者:行者123 更新时间:2023-12-05 01:01:09 28 4
gpt4 key购买 nike

在我的 Laravel 项目中,我正在构建一个带有一些条件的查询。有一个问题我想不通

我有一个查询如下

$query = SocialMediaFeed::where('location_id', $location_id);

现在有一些 'self' = true 的提要项。首先应该从结果中忽略这些,除非有 $filters 数组。

if(!$filters) {
$query = $query->where('self', '<>', true);
}

现在我想知道,如果有过滤器,它应该包括我在 self 不等于 true 时得到的数据,而且如果它是 true 的话,也应该包括数据..

我尝试了以下方法,但这只会返回 self=true 帖子,而不是所有与 self=true 结合的帖子

$query = $query
->where('self', '<>', true)
->where('self', true)
->orWhereNull('self');

最佳答案

您可以使用 Conditional Clauses为此:

// false: All social media feeds except where self is not true
// true: All social media feeds
$filters = false;
$query = SocialMediaFeed::where('location_id', $location_id)
->when(!$filters, function ($query) {
return $query->where('self', '!=', true);
})->get();

关于php - Laravel 在哪里使用 if else,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45585657/

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