laravel Eloquent where子句

5 laravel eloquent

我正在尝试通过Eloquent获取来自特定国家/地区的所有用户。

问题是我得到了所有记录,where子句不起作用。

$res = User::with(array('country' => function($query) {
          $query->where('country', '=', 'salope');
       }))->get();
Run Code Online (Sandbox Code Playgroud)

遵循laravel文档中的这种模式

$users = User::with(array('posts' => function($query)
{
    $query->where('title', 'like', '%first%');
}))->get();
Run Code Online (Sandbox Code Playgroud)

我的模特:

class User extends SentryUserModel {
    public function country() {

        return $this->belongsTo('country','country_id');
    }
}
class Country extends Eloquent {
    public function users() {

        return $this->hasMany('users');
    }

}
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么 ?

小智 4

我在 laravel 4.1 版本中找到了我正在寻找的东西。我的问题表述不正确。我想查询一段关系。

$posts = Post::whereHas('comments', function($q)
{
    $q->where('content', 'like', 'foo%');

})->get();
Run Code Online (Sandbox Code Playgroud)

以我的例子为例:

 $res = User::whereHas('country', function($q) {
        $q->where('country', 'salope');
       })->get();
Run Code Online (Sandbox Code Playgroud)

文档链接