gpt4 book ai didi

php - Laravel 5 中如何获取一篇文章的 user_id ?

转载 作者:行者123 更新时间:2023-11-29 07:31:51 25 4
gpt4 key购买 nike

所以我正在遵循 L5 基础知识,试图改进一些事情,但它变得有点复杂,特别是你可以用多种不同的方式做同样的事情。我总是忘记哪个是哪个。

我正在尝试检查用户尝试编辑的文章是否属于他,如果不是,我将通过消息重定向他。我将其应用于 ArticlesController

中的 edit() 方法

我能够获取登录用户的 id,但无法获取 articles 中的 user_id,因此我可以进行比较他们。

这就是我到目前为止所得到的,正如你所看到的,它被评论了,因为这不是我想要的结果,这是我最接近从中得到任何东西的结果。

我还应该在 Controller 或 View 上实现这个条件吗?为什么?

public function edit(Article $article) {
$user = Auth::id();
//$articleUserId = $article->user()->getResults();
dd($user);

if($user) {
$tags = Tag::lists('name', 'id');
//$article = Article::findOrFail($id);

return view('blog/edit')->with('article', $article)
->with('tags', $tags);
} else {
return 'you are not logged in';
}
}

最佳答案

public function edit(Article $article) {
if ( ! auth()->check()) {
return 'you are not logged in';
}

if ($article->user_id != auth()->id()) {
return 'This is not your article';
}

$tags = Tag::lists('name', 'id');

return view('blog.edit')->with(compact('article', 'tags'));
}
<小时/>

我见过人们将 owns 方法添加到他们的 User 模型中:

public function owns(Model $model)
{
return object_get($model, 'user_id') == $this->id;
}

然后在您的 View 中,您可以检查它:

@if (auth()->user()->owns($article))
// show whatever...
@endif

关于php - Laravel 5 中如何获取一篇文章的 user_id ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32386359/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com