mysql - laravel api 返回 null

标签 mysql laravel api

我有可以返回我的数据的 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 名称约定 laravel 正在寻找 posts_id 而不是 post_id

也将您的帖子模型更新为

public function comments(){

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

}

关于mysql - laravel api 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50552091/

相关文章:

javascript - 使用 JS SDK 创建新的 Soundcloud 播放列表 ( set ) 返回 422

angular - 如何将数组数据插入到 Angular 7中的ng2-google-chart图表中

php - 如何使用 php 编辑购物车中的数量框?

php - 以第一个位置排序问题

mysql - 按组类型加入第一个和最后一个记录?

php - 是否可以从 mysql 中获取记录,如 1 月至 3 月(2019 年)、4 月至 6 月(2018 年)下表等

php - 如何使用相同名称的输入类型更新多个 mysql 行

laravel - 如何在 laravel 5 中插入多行?

Laravel Mix 和导入文件

java - 测试时如何修复未登录错误?