php - Eloquent |使用 with() 导致返回 NULL

标签 php sql laravel eloquent

我正在尝试在 Laravel 中使用 Eloquent 来运行查询。我正在使用 with() 函数来从关系中获取结果,但是这总是返回 null

这是我的代码:

Posts::query()
    ->select('id')
    ->with([
        'author:id',
        'category.images:url',
     ]);

使用 getQueryLog() 函数转储查询,如果我在具有相同绑定(bind)的 SQL 客户端内部运行查询,我会得到返回结果,但是响应看起来像这样...

{
    id: 1,
    category: {
       id: 1,
       category_images: null
    }
}

我已经尝试用谷歌搜索这个问题,但找不到任何关于它的信息。

提前致谢。

最佳答案

像这样使用您的查询:

Posts::query()->select('id')->with([ 'author', 'category' ])->get();

在 Posts 模型中

public function author()
{
   return $this->belongsTo('Authors::class', 'author_id', 'id')->select('id');
}



public function category()
{
  return $this->belongsTo('Categories::class', 'category_id', 'id')->select('id', 'images.id', 'images.url');
}

关于php - Eloquent |使用 with() 导致返回 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51320418/

相关文章:

MySQL 选取所有30天未登录的用户

laravel - Eloquent 搜索/自定义属性的位置

php - 在 Laravel 中播种数据库时找不到表错误

php - mysql在单个表的where条件下的多行值

javascript - 如何在 Vuejs 中使用 Laravel Blade 语法

mysql - 如何使用 SQL 永久连接两个表?

php - 数据库更新需要FROM子句,但是FROM子句导致错误

php - 在 Laravel 中使用迁移重命名表

php - 如果 HTTPS 激活,Laravel 请求 HTTP

php - 在文本表单下和提交按钮上方使用 PHP/CSS 显示消息