【发布时间】:2022-01-24 04:34:52
【问题描述】:
我只是想这样做:
$cattles = Cattle::all();
dd($cattles);
但它会抛出异常“ErrorException 数组到字符串的转换”。
我不知道为什么...如果我尝试
$cattles = DB::select('SELECT * FROM cattles');
dd($cattles);
它给出了预期的结果!即所有行。
型号:
class Cattle extends Model
{
use HasFactory;
protected $table = ['cattles'];
protected $fillable = [
'property_cattle_type_id',
'property_id',
'paddock_id',
'cattle_type_id',
'age',
'visual_id',
'animal_id',
'sex',
'weight',
];
}
在我看来这很奇怪。
前四列 - 外键。
事实上这对我来说不是什么大问题,但我只是对这种行为感兴趣。
可能是什么原因?
【问题讨论】:
-
为什么要在
array中传递表名?它应该是protected $table = 'cattles'; -
@DevsiOdedra ,该死的......是的,你是绝对正确的。我不小心这样写了。这就是问题所在。啊哈哈,真是个愚蠢的错误。非常感谢!
标签: php laravel eloquent model dd