PHP/Laravel中如何判断变量$user是否为User类实例对象
Laravel中判断变量是否为指定模型对象的实现方法
你可以直接使用PHP原生的instanceof关键字做类型校验,这是最准确的判断方式,不会出现非目标对象被误判的情况。
具体实现代码
修改后的判断逻辑如下:
$user = Apiato::call('User@FindUsersbytask', [$request->id]); // 替换为你项目中User模型的实际命名空间即可 if ($user instanceof \App\Models\User) { Apiato::call('User@deleteuserTask', [$request->id]); // 后续业务逻辑 }
补充注意事项
- 如果你使用的是Apiato框架的标准结构,User模型的默认完整命名空间为
\App\Containers\UserSection\User\Models\User,直接替换上述代码中的命名空间即可 - 不要直接用
if($user)做判断:如果接口返回了其他非空对象、空集合类实例,该判断也会返回true,无法保证后续操作的传入参数符合预期 - 如果不确定项目中User模型的命名空间,可以在代码中临时加一行
dd(get_class($user))打印正常查询返回的$user类名,替换到判断逻辑中即可
内容的提问来源于stack exchange,提问作者Code cracker
相关产品推荐
相关产品推荐

