【问题标题】:Laravel & vue.js values to arrayLaravel 和 vue.js 值到数组
【发布时间】:2016-05-08 08:00:46
【问题描述】:

我在 Laravel 中使用 vue.js。

我有 3 张桌子。

Article  
Location 
article_location (pivot table)

如果我想将位置文章转换为 json,以便将其传递给 vue,我该怎么做?

 <div class="container">

        Location->article  //all articles of a location to json

        <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>

我该怎么做?

编辑 --

控制器:

$location = location::all();
return view('locationproducts')->with('location',$location);

查看:

  <div class="container">
            <data list="{{ $location->article()->toJson() }}"></data>
    </div>

位置模型:

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

错误:

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

【问题讨论】:

    标签: javascript php json laravel vue.js


    【解决方案1】:

    您可以使用toJson() 方法,将模型转换为JSON,您可以使用toJson 方法。和toArray 一样,toJson 方法是递归的,所以所有的属性和关系都会被转换成 JSON:

    $location->articles()->toJson();
    

    希望这会有所帮助。

    【讨论】:

    • 感谢您的回复。请看我的编辑。知道为什么会出现该错误吗?
    • 不客气,用谷歌搜索了一下,我可以看到这个问题与表单有关,但我找不到任何快速答案,我建议添加另一个特定于这个问题的问题,并有明确的描述和更具体的代码。
    猜你喜欢
    • 2019-09-16
    • 2018-10-22
    • 1970-01-01
    • 2016-04-20
    • 2020-05-04
    • 1970-01-01
    • 1970-01-01
    • 2018-01-29
    • 2016-02-18
    相关资源
    最近更新 更多