Laravel 雄辩的 all() 方法给出错误“数组到字符串的转换”[关闭]
Posted
技术标签:
【中文标题】Laravel 雄辩的 all() 方法给出错误“数组到字符串的转换”[关闭]【英文标题】:Laravel eloquent all() method gives error "Array to string conversion" [closed] 【发布时间】: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 ,该死的......是的,你是绝对正确的。我不小心这样写了。这就是问题所在。啊哈哈,真是个愚蠢的错误。非常感谢!
【参考方案1】:
原因是将array
传递给table
变量。
您可以查看 Eloquent table names 的 Laravel 文档。
【讨论】:
以上是关于Laravel 雄辩的 all() 方法给出错误“数组到字符串的转换”[关闭]的主要内容,如果未能解决你的问题,请参考以下文章