laravel:查询为空时的奇怪行为

我有一个模型

我这样称呼它:

Sight::filter(['type'=>'menu']);

并在模型中:

public function scopeFilter($query,$params)
{
    return $query
        ->wherePublish(1)
        ->whereIn_special(1)
        ->latest()
        ->first();
}

当有一个或多个记录时,它可以正常工作。

但是当数据库为空时,我会得到一个奇怪的行为:

dd(Sight::filter(['type'=>'menu']))

或者

$query
        ->wherePublish(1)
        ->whereIn_special(1)
        ->latest()
        ->first();
        dd($query);

我得到了这个结果:

在此处输入图片说明

但是随着

dd(
$query
            ->wherePublish(1)
            ->whereIn_special(1)
            ->latest()
            ->first();
)

我得到了 Null 所以它是对的!

我怎样才能返回空?我怎么了?

德怀特

您不应该first()在范围内调用- 您只是为了通过约束来调整查询。您应该first()在应用filter()范围调用您的链如果您想使用相同的语法而不是像这样链接,您最好定义一个自定义静态方法。

public static function filter($params)
{
    return self::wherePublish(1)
        ->whereIn_special(1)
        ->latest()
        ->first();
]

另请注意,在您的示例中,您的范围接受一个参数(并传递一个参数),但实际上并未在您的代码中使用它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

查询Solr时的奇怪行为

来自分类Dev

theano T.switch():如果张量为空奇怪的行为

来自分类Dev

Laravel删除查询为空

来自分类Dev

空指针的奇怪行为

来自分类Dev

领域查询的奇怪行为

来自分类Dev

在Python中为True定义值时的奇怪行为

来自分类Dev

为IFS循环设置IFS时出现奇怪的bash行为

来自分类Dev

在Python中将数字提高为零的幂时的奇怪行为

来自分类Dev

比较浮点数为零时的奇怪行为

来自分类Dev

在Unity中为GameObject设置颜色时的奇怪行为

来自分类Dev

为 for 循环设置 IFS 时的奇怪 bash 行为

来自分类Dev

Laravel路由奇怪的行为

来自分类Dev

Laravel 模型奇怪的行为

来自分类Dev

Laravel 中的奇怪行为

来自分类Dev

查询为空时如何对结果排序?

来自分类Dev

SQL查询:奇怪的SUM行为

来自分类Dev

SQL Server查询,奇怪的行为

来自分类Dev

RecyclerView行为-打开/关闭键盘时为空

来自分类Dev

当列中的行为空时,ORACLE显示计数为零

来自分类Dev

当列中的行为空时,ORACLE显示计数为零

来自分类Dev

排序CMFCListCtrl时的奇怪行为

来自分类Dev

FBSession登录时的奇怪行为

来自分类Dev

从SharedPreferences读取时的奇怪行为

来自分类Dev

比较数字时的奇怪行为

来自分类Dev

更新矩阵时的奇怪行为

来自分类Dev

Micropython - 粘贴时的奇怪行为

来自分类Dev

使用 malloc 时的奇怪行为

来自分类Dev

抓取时硒的奇怪行为

来自分类Dev

Laravel会话/存储在刷新时为空