Mysql laravel api返回null

Mysql laravel api返回null,mysql,laravel,api,Mysql,Laravel,Api,我有返回数据的api。我有一个条件,如果visible==1,则返回数据,否则不返回任何东西 但我收到的是这个 { "data": [null, { "order": 2, "path": "http:\/\/controlpanel.test\/uploads\/7bb61115dd77823d8e8e3f2b6afa401b.png", "visible": 1 }] } 我想把这个还给你 { "data": [{

我有返回数据的api。我有一个条件,如果visible==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,
        ];
    }

您需要在注释模型中为
post()
关系定义FK,如

public function post(){
    return $this->belongsTo('App\Posts' , 'post_id');
}
使用
App\Posts
name约定,laravel正在寻找
Posts\u id
not
post\u id

更新您的文章模型也作为

public function comments(){

    return $this->hasMany('App\Comment', 'post_id');

}

您有Posts模型,因此在关联时,它会在table属性中搜索Posts\u id。 您可以使用以下任一方法解决此问题

  • 更新注释模块

    public function post(){
    返回$this->belongsTo(Posts::class,“post_id”);
    }

  • 更新模型名称


  • 从Posts到Post

    Post\u id
    还是
    Posts\u id
    ?您的代码使用
    post\u id
    ,但您的MySQL错误消息显示
    posts\u id
    。它的post\u id也在MySQL中。您要选择列数据的字段值在选项卡中不可用。请通过在注释中定义外键和post函数not working来解决此问题。问题似乎出现在posts模块中。公共函数注释(){return$this->hasMany('App\Comment');}非常感谢,我被困了好几天:)