0
  • Laravel 版本:5.3.9
  • PHP版本:7
  • 数据库驱动程序和版本:MariaDB 10

我目前的模型结构:

   Image.php

public function imageable()
    {
        return $this->morphTo();
    }

User.php

public function images()
    {
        return $this->morphMany(Image::class, 'imageable');
    }

重现步骤:

我这样查询:

    $gender = 1;
$lookIds = Image::whereHas('imageable' , function($query) use($gender){
            $query->where('gender', $gender);
        })->get();

它返回给我:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'gender' in 'where clause

有什么建议或更好的解决方案来获得性别为 0 的用户中的所有图像吗?

4

1 回答 1

0

尝试使用这个:

 $gender = 1;
 $lookIds = Image::whereHas('users', function($query) use ($gender) {
     $query->where('gender',$gender);
 })->get();

我假设您的用户表有一个性别字段?

于 2016-09-20T10:39:31.660 回答