将透视表数据从laravel传递到VueJS组件

将透视表数据从laravel传递到VueJS组件,laravel,vue.js,Laravel,Vue.js,我正在将VueJs组件添加到我的Laravel应用程序中,我正在努力解决这个问题: 我有两种车型、优惠和品牌,它们之间有着许多类似的关系: public function concessions() { $concessions = Concession::all(); return view('MyConcessionsView', compact('concessions')); } 特许经营模式 public function brands() { re

我正在将VueJs组件添加到我的Laravel应用程序中,我正在努力解决这个问题:

我有两种车型、优惠和品牌,它们之间有着许多类似的关系:

public function concessions()
{
    $concessions = Concession::all();

    return view('MyConcessionsView', compact('concessions'));
}
特许经营模式

  public function brands()
  {
    return $this->belongsToMany('App\Brand');
  }
品牌模式

  public function concessions()
  {
    return $this->belongsToMany('App\Concession');
  }
在控制器中,我从所有特许权中提取数据并返回视图,如下所示:

public function concessions()
{
    $concessions = Concession::all();

    return view('MyConcessionsView', compact('concessions'));
}
在我的Laravel视图中,我可以毫无问题地访问
$preferences[0]->品牌
,一切正常

因此,我添加了我的Vue组件,并将prop$优惠传递给该组件:

<concessions-map :con="{{ $concessions }}"></concessions-map>
在Vue DevTools上,我有一个包含35个对象的数组。。但我可以从每一个网站上访问房地产品牌

有什么建议吗

提前谢谢你

$preferences=特许权::带有('brands')
这就是你需要的

当你执行

$preferences[0]->品牌
您正在向数据库发出新请求。

您好, 您可以使用Axios,这是一种更好的方式,因此
-1在特许权控制器中定义一个功能,以获得其品牌的所有特许权

public function getConcessions(){
    $concessions= Concession::with('brands');
    return $concessions;
}
-2定义在web.php中获取此数据的路径 比如说

Route::get('/concessions/getData','ConcessionController@getConcessions'); 
-3使用axios从vuejs组件获取数据

loadConcessions(){
             axios.get("/concessions/getData")
              .then(({data}) => {
              this.concessions = data.data

            });
别忘了在你的挂载方法中添加这个函数

mounted() {
           this.loadConcessions()

        }
-4现在,您可以显示在vuejs组件中获取的数据

loadConcessions(){
             axios.get("/concessions/getData")
              .then(({data}) => {
              this.concessions = data.data

            });
  • 以你的情况为例,你是这样做的

    Route::get('/concessions/getData','ConcessionController@getConcessions'); 
    
    {{特许经营.品牌}

甚至你也可以把它当作一个循环来读,比如在一个表中读

<tr  v-for="concession in concessions.data" :key="concessions.id">
   <td class="text-center">{{concession.brands}}</td>
</tr>

{{特许权.品牌}
因此,对于每一项让步,它都将展示自己的品牌

public function getConcessions(){
    $concessions= Concession::with('brands');
    return $concessions;
}