Laravel 5,只获得雄辩模型的关系

时间:2017-09-12 07:25:28

标签: laravel eloquent laravel-eloquent

我的应用中有用户和文章模型。它们之间的关系很简单:

//article.php
use Taggable;

public function user()
{
    return $this->belongsTo('App\User');
}

文章使用Taggable lib,它为我提供了各种方法,例如Article :: withAnyTags(返回标有' xyz'字符串的所有文章)。现在,我想让发布文章的所有用户都标记为' xyz'。我知道如何在两行中做到这一点,但有些事情告诉我这是不对的。理想情况下,我喜欢这样做:

$users = Article::withAnyTags('xyz')->with('user')->select('user'); --pseudocode 

有可能在雄辩中这样做吗?

旁注:我知道我可以用DB :: table做到这一点,但这对我来说不是一个选择。请注意,没有" - > get()"在我的伪代码的最后。它就是这样,因为我将用户分页'使用lib设置的结果只适用于雄辩的查询。

1 个答案:

答案 0 :(得分:2)

您可以使用whereHas()

jmeter.save.saveservice.output_format=xml
jmeter.save.saveservice.response_data.on_error=true

或者如果你需要将标签的变量传递给闭包,你可以这样做:

User::whereHas('articles', function ($query) {
    $query->withAnyTags('xyz');

})->paginate();

希望这有帮助!