javascript - Laravel 和 vue.js 值数组

标签 javascript php json laravel vue.js

我在 Laravel 中使用 vue.js。

我有 3 张 table 。

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>

我怎样才能做到这一点?

编辑--

Controller :

$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');
}

错误:

ErrorException in Macroable.php line 81: Method article does not exist. (View: /home/vagrant/Code/project/resources/views/locationproducts.blade.php)

最佳答案

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

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

希望这有帮助。

关于javascript - Laravel 和 vue.js 值数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35103929/

相关文章:

javascript - 如何使用 setTimeout 和 Promise 使这段 JS 代码更实用?

php - Nginx 位置配置(子文件夹)

php - 如何在 php mysql 中使用 array_rand() 或 shuffle() 函数

php - 第二部分 : How to make Ruby AES-256-CBC and PHP MCRYPT_RIJNDAEL_128 play well together

javascript - JSON 到字符串变量转储

java - JsonReader.setLenient(true) 在第 1 行第 1 列路径 $ Error 处接受格式错误的 JSON

javascript - 将插件应用到 DOM 中的新元素 (jquery)

javascript - 如何在没有要映射的对象数组的情况下循环和渲染 React.js 中的元素?

javascript - 调度自定义事件

c# - BotFramework 和 LUIS 的 JSON 序列化器错误