Php 拉雷维尔对json口若悬河

Php 拉雷维尔对json口若悬河,php,jquery,laravel,eloquent,vue.js,Php,Jquery,Laravel,Eloquent,Vue.js,我在Laravel中使用vue.js。这是我的表格结构: Article id name description Location id place article_location (pivot table) --fields-- id article_id (foreign key) location_id (foreign key) 我想将其转换为json: article.place article.description location.place 用雄辩的语言做这件

我在Laravel中使用vue.js。这是我的表格结构:

Article  
id
name
description

Location 
id
place


article_location (pivot table)
--fields--
id
article_id (foreign key)
location_id (foreign key)
我想将其转换为json:

article.place
article.description
location.place
用雄辩的语言做这件事的正确方法是什么

<div class="container">
        <div class="container">
            <data list="{{ $location->artikel()->toJson() //<-something like this? }}"></data>
        </div>

        <template id="ln-data">
            <ul>
                <li v-for="value in list">
                    @{{ value.name }}
                </li>
            </ul>
        </template>

        <script>
        Vue.config.debug = true;

        Vue.component('data', {
            template: '#ln-data',
            props:['list'],

            created() {
                this.list = JSON.parse(this.list);
            }
        })

        new Vue({
            el: 'body'
        });
        </script>
位置模型:

public function article()
{
    return $this->belongsToMany('App\article','article_location');
}
错误:

MacroTable.php第81行中的ErrorException:方法文章没有 存在。(观点: /home/vagrant/Code/project/resources/views/locationproducts.blade.php)


您可以在这个URL中找到模型类的API:您可以看到toJson函数已经存在


你的html中有一些输入错误,你写了“$location->artikel()->toJson()”而不是“$location->article()->toJson()”,这可能是你的问题。

所以我得到了一个最大函数嵌套错误:当我简单地将{$a_collection}放入模板中时达到100。所以我只是在控制器中调用了toJson方法,并将其作为变量传递。这里的另一件事是,您应该在“之后使用单引号”
public function article()
{
    return $this->belongsToMany('App\article','article_location');
}