Laravel和Vue路由器

时间:2020-09-07 07:49:38

标签: laravel vue.js eloquent

我刚开始使用Vue作为前端,而Laravel有一个后端。

我有2个相关的模型,即Users模型和Posts模型。 用户可以有多个帖子,而一个帖子属于一个用户。

我可以检索帖子,但是我想在“用户”页面上单击“用户”并获取相关用户的帖子的列表。

在用户vue中使用axios获取相关的“用户帖子”列表

这是我用来打开“帖子”页面的链接。

<v-btn @click="$router.push({ name:'posts.list', params:{ id:item.id } })" 
       class="ma-0" 
       outlined 
       fab 
       small 
       color="success" 
       title="View Posts">
    <v-icon>mdi-tray-full</v-icon>
</v-btn>
axios.get('/admin/posts/' + self.propUserId, { params: params })
    .then(function(response) { 
        self.items = response.data.data.data; 
        self.totalItems = response.data.total; 
        self.pagination.totalItems = response.data.total; 
        (cb || Function)(); 
    });

我正在尝试通过self.propUserId将用户ID传递给路由器js

path: '/:id',
name: 'posts.list',
component: require('./posts/components/PostLists'),
props: (route) => ({propUserId: route.params.id}),

我的网络路由器中有以下路由器

Route::prefix('admin')
    ->namespace('Admin')
    ->middleware(['auth'])
    ->group(function() { 
        Route::resource('posts/{id}','PostController');
        // .....
    });

但是我在不应用条件的情况下获取所有帖子。我只希望属于所单击的用户的所有帖子。“帖子”表中与“用户”表相关的“外部”列为user_id。

1 个答案:

答案 0 :(得分:0)

您是否在后模型处正确设置了逆关系?

应该是这样的:

// Post.php
public function user()
{
    return $this->belongsTo(User::class);
}