我有这个函数:
public function getReward($formattedArray, $key){
$id = $formattedArray[$key][0];
//dd($id); //Returns 1
$reward = Item::find($id);
return $reward;
}问题部分是:
$reward = Item::find($id); 我让dd()作为id变量,它返回期望值1,然后在最后的静态find函数中使用该值。然后我收到错误,使用这个函数“尝试获取非对象的属性”。
然后我这样做:
$reward = Item::find($id); //Changed to...
$reward = Item::find(1);唯一的区别是我手动将整数1输入到静态find函数中。代码运行得很好,没有错误,而且我能够访问返回的对象。
工作示例:
$reward = Item::find(1);
return $reward;工作示例:
$reward = Item::find("1");
return $reward;非工作示例:
$reward = Item::find($formattedArray[$key][0]);
return $reward;我也尝试过像这样转换成一个整数:
$id = $formattedArray[$key][0];
$idInt = (int) $id;
$reward = Item::find($idInt);
return $reward;发布于 2015-10-24 04:39:06
我认为$id,你得到的不是对象类型。要确认这一点,请使用var_dump(),因为您的Item::find()函数试图访问某些不可访问的字段。
https://stackoverflow.com/questions/33310647
复制相似问题