gpt4 book ai didi

php - 为什么在 User::first() 上调用方法有效,但 User::where(...) 无效?

转载 作者:可可西里 更新时间:2023-11-01 08:10:07 25 4
gpt4 key购买 nike

在 php artisan tinker 中工作并返回 true:

>>> User::first()->is('admin');
=> true

返回错误:

>>> User::where('id', 1)->is('admin');
BadMethodCallException with message 'Call to undefined method Illuminate\Database\Query\Builder\::is()'

为什么会这样?

最佳答案

因为当使用 ->where() 时,您正在构建一个集合,但是 ->first() 返回模型。

要使 Eloquent 返回模型,您需要通过添加 ->get() 让它执行查询

然而,这也会返回一个集合。您可以使用 ->first()

解决这个问题
User::where('id', 1)->first()->is('admin');

编辑评论:

尝试这样做,但上面的代码应该可以工作。

$user = User::where('id', 1)->first();
$isAdmin = $user->is('admin');

关于php - 为什么在 User::first() 上调用方法有效,但 User::where(...) 无效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37924310/

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