首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在laravel中删除基于admin_id的博客?

如何在laravel中删除基于admin_id的博客?
EN

Stack Overflow用户
提问于 2021-08-20 07:48:12
回答 1查看 47关注 0票数 0

我正在开发博客的crud操作,我想根据id删除博客,为此我写了一个接口,负责根据博客ID的admin_id删除博客,它不是删除博客,我没有得到我哪里弄错了,请帮助我解决这个问题。

BlogsContainer.php

代码语言:javascript
复制
public function deleteBlog(DeeleteBlogRequest $request){
    $delete=app(DeleteBlogAction::class)->run($request);
    return $this->noContent();
   }

DeeleteBlogrequest.php

代码语言:javascript
复制
  public function rules(): array
    {
        return [
            'id' => 'required'
        ];
    }

DeleteBlogAction.php

代码语言:javascript
复制
 public function run(DeeleteBlogRequest $request)
    {
        // $var = app(Task::class)->run($arg1, $arg2);
        $delete=app(DeleteBlogTask::class)->run($request);
        return $delete;
    }

DeleteBlogTask.php

代码语言:javascript
复制
class DeleteBlogTask extends Task
{
    protected BlogsModel $repository;
    public function __construct(BlogsModel $repository)
    {
        $this->repository=$repository;
        // ..
    }

    public function run($id)
    {
        $book=BlogsModel::findOrFail($id);
        $book->admin_id=BlogsModel::where('admin_id',$book)->value('admin_id');
       
        $token = JWTAuth::getToken();
        $details = JWTAuth::getPayload($token)->toArray();
        $Admin_id = $details["sub"];
  
        if($Admin_id==$book->admin_id){
        return $trash=$this->repository->delete($id);
        // return $trash;
        }
    }
}
EN

回答 1

Stack Overflow用户

发布于 2021-08-20 08:24:27

DeleteBlogAction中,您将请求传递给DeleteBlogTask类的run方法。但是DeleteBlogTaskrun方法需要一个id。

因此,要么在DeleteBlogAction中执行app(DeleteBlogTask::class)->run($request->input('id');,要么更改DeleteBlogTaskrun方法的签名,以便它等待请求。然后,在run方法中,您可以从reqeust中获取id。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68858661

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档