php - Laravel 连接子查询

标签 php mysql laravel eloquent

我有两个模型用户和地址,一个用户可以有多个地址,但我只想获取primary(其中primary=true)

这是我尝试过的,并且我在列表中获得了多个用户

$users = User::join('addresses', 'addresses.user_id', 'users.id')
             ->select('name','phone_number','address','landmark','city','state','pincode','users.status')
             ->get();

我也尝试过,但没有收到任何数据

$users = User::join('addresses', 'addresses.user_id', 'users.id')
             ->where('addresses.primary', true)
             ->select('name','phone_number','address','landmark','city','state','pincode','users.status')
             ->get();

谢谢

Collection {#375 ▼
  #items: array:8 [▼
    0 => User {#376 ▶}
    1 => User {#377 ▼
      #attributes: array:9 [▼
        "name" => "Colin Sushanth"
        "phone_number" => "9987217545"
        "address" => "2nd Cross 3rd street, y this is my address"
        "landmark" => "Near the address"
        "city" => "Mangalore"
        "state" => "Karnataka"
        "pincode" => 575002
        "status" => "valid"
        "primary" => "true"
      ]
    }
    2 => User {#378 ▶}
  ]
}

最佳答案

你应该尝试这个:

$users = User::join('addresses', 'addresses.user_id', 'users.id')
             ->where('addresses.primary','=',1)
             ->select('name','phone_number','address','landmark','city','state','pincode','users.status')
             ->get();

或者:

$users = User::join('addresses', 'addresses.user_id', 'users.id')
                 ->where('addresses.primary','=',true)
                 ->select('name','phone_number','address','landmark','city','state','pincode','users.status')
                 ->get();

更新答案

Blade 文件:

@if(isset($users))

  @foreach($users as $user)

    @if($user->primary === 'true')

        //Your code

    @endif

  @endforeach

@endif

关于php - Laravel 连接子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45633277/

相关文章:

php - Apache/PHP 禁用子域的 Cookie?

php - 在 Laravel 之外解密加密值

php - 使用 PHP 对远程证书进行 XML 签名验证

php - 是否使用 MySQL 中的当前/默认字符集转换 BLOB?

javascript - 防止action属性使用javascript运行php脚本

php - 通过未知的常用单词在 MySQL 中查找匹配项

javascript - 将过滤后的数据从 php 保存到 Excel

php - 尝试使用一个表中的 id 值将两个表连接在一起

php - Laravel 中的未知格式化程序 "sentence"错误

laravel - proengsoft/laravel-jsvalidation 如何使用自定义规则消息?