我要分配一个User
模型(对象)到我的stdClass属性之一,这是我的stdClass通过DB获取的查询结果:
{#803 ▼
+"user": 84
+"id_list": "7,1"
+"total": "125002.00"
+"settlement_id": null
+"bank_code": null
+"gateway_id": null
+"settlement_date": null
}
如果我尝试将User
模型分配给user
属性一个异常抛出:
类App'User的对象无法转换为int
这是我尝试将用户模型分配给stdclass的方式
// $settlements is an array containing stdClasses
// $user_list is an array containing User models
foreach($settlements as $settlement){
foreach($user_list as $user){
if($settlement->user == $user->id){
$settlement->user = $user;
}
}
}
最有可能的$settlement->user
是一个对象,PHP试图转换为整数,同时比较它的行,说:
if($settlement->user == $user->id){
在执行比较之前,您需要确保它不是一个已经分配的对象,例如:
if (!is_object($settlement->user) && $settlement->user == $user->id)
或
if (!$settlement->user instanceof User && $settlement->user == $user->id)
(假设$user
是User
类的实例;将其更改为实际值)
明白了,去掉下面一行:
if ($user > 0) {
return response()->json('Success');
}