BadMethodCallException,带有消息'调用未定义的方法Illuminate\Database\Query\Builder :: toArray()'

Haz*_*mat 7 php laravel laravel-5 laravel-5.2

我正在与@Jeffrey_way系列的Laracasts 进行多对多的关系(带标签)

下面是我使用Laravel Tinker在CMD中编写的代码:

执行最后一行代码后($article->tags()->toArray();

虽然我的代码似乎一切正常但仍然出现以下错误:

BadMethodCallException with message 'Call to undefined method Illuminate\Database\Query\Builder::toArray()'
Run Code Online (Sandbox Code Playgroud)

任何帮助将非常感激 :)

Alm*_*itt 6

我遇到了同样的问题并通过添加解决了它get()

例如:

$article->tags()->get()->toArray();
Run Code Online (Sandbox Code Playgroud)


Yig*_*vci 5

如果您想真正地“获取”关系数据,则不必过多地加上括号tags。这将正常工作:

$article->tags->toArray();
Run Code Online (Sandbox Code Playgroud)

当您需要“查询”该集合时(例如,同步,保存,附加),可以在括号中加上括号。

参考:https : //laravel.com/docs/5.1/eloquent-relationships#many-to-many