php - 从选择 laravel 中删除

标签 php laravel-4

我正在创建一个俱乐部有多个团队的系统,每个团队中都可以有用户(用户可以在多个团队中)

现在所有 Eloquent 东西都可以用来选择所有的东西:)

但现在我想生成一个俱乐部中尚未加入团队的所有用户的列表

现在我只是通过执行以下操作来正常选择用户:

$team->club->users()->lists('name','id')

这是在团队页面上,所以我首先获取团队所在的俱乐部,然后获取所有用户,并且只选择名称和 ID。

最佳答案

在过去的六个月里,我广泛使用了 Laravel,我认为您正在寻找的是 Eloquent 的“whereNotIn”功能。

这是一个基于我的应用程序的示例:

$user = User::whereNotIn('id', function($query) {
    $query->select('id')
          ->from('hospital_user')
          ->where('hospital_user.hospital_id', '=', 54);
})->lists('email', 'id');

这可以简化为:

$hospital = Hospital::findOrFail(54);
$users = User::whereNotIn('id', $hospital->users()->lists('user_id'))
             ->lists('email', 'id');

希望我的示例对您有所帮助。我在这里所做的是选择所有不在特定医院的 hospital_user 数据透视表中的用户。

关于php - 从选择 laravel 中删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24167213/

相关文章:

python - 如何将变量从 PHP 传递到 Python?

php - Android/php : Using PDO to retrieve a set of results using 'LIKE' , 并解析为 JSON

php - jQuery + 重力形式 : Perform jQuery on bad validation

orm - Laravel Eloquent 访问原文

laravel - 使用 Eloquent 比较查询中的日期

php - 你可以在数据库 Laravel 4 中插入声明的变量吗

php - 如果使用得当,htmlspecialchars 是否足以抵御所有 XSS?

php - 如何在 grep 输出时将时间戳附加到每一行?

php - Laravel 在验证中设置数字之间

Laravel 中的 PHPexcel header