首页 文章

laravel api返回null

提问于
浏览
3

我有api返回我的数据 . 我有条件,如果可见== 1然后返回数据,否则不返回任何东西 .

但我收到的是这个

{
    "data": [null, {
        "order": 2,
        "path": "http:\/\/controlpanel.test\/uploads\/7bb61115dd77823d8e8e3f2b6afa401b.png",
        "visible": 1
    }]
}

我希望这是回归

{
    "data": [{
        "order": 2,
        "path": "http:\/\/controlpanel.test\/uploads\/7bb61115dd77823d8e8e3f2b6afa401b.png",
        "visible": 1
    }]
}

没有空 . 这是我的代码

if($this->visible==1){
        return [

            'order' =>$this->order,
            'path' => asset('uploads').'/' . $this->path,
            'visible'=> $this->visible,
        ];
    }

2 回答

  • 0

    您需要在评论模型中为 post() 关系定义FK

    public function post(){
        return $this->belongsTo('App\Posts' , 'post_id');
    }
    

    使用 App\Posts 名称约定laravel正在寻找 posts_id 而不是 post_id

    将您的帖子模型也更新为

    public function comments(){
    
        return $this->hasMany('App\Comment', 'post_id');
    
    }
    
  • 0

    你有Posts模型,所以在关系中,它搜索table属性中的posts_id . 您可以使用以下任一方法解决问题

    • 更新评论模块

    public function post(){ return $this->belongsTo(Posts::class , 'post_id'); }

    • 更新型号名称

    from Posts to Post

相关问题