将透视表数据从laravel传递到VueJS组件
我正在将VueJs组件添加到我的Laravel应用程序中,我正在努力解决这个问题: 我有两种车型、优惠和品牌,它们之间有着许多类似的关系:将透视表数据从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
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;
}