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() 方法给出错误“数组到字符串的转换”[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

雄辩的laravel错误

Laravel 雄辩的关系有很多两个外键错误

Laravel 5 具有雄辩的关系回调函数返回错误记录

在laravel中以雄辩的关系获取错误列的数据

(Laravel) 使用“雄辩的关系”连接 3 个或更多表

来自DB的Laravel雄辩错误选择数据