database - Laravel Eloquent - 选择连接,其中列文本类似于其他表中的列文本

标签 database laravel join eloquent

我想从我的 users 表中选择用户,如果他们住在我的数据库中的 cities 表中,则返回一个 bool 值。

问题是,我不能在用户表中使用城市 ID,因为我从外部来源获取用户列表。

在正常的 SQL 查询中,我会加入城市表 (users.city LIKE cities.name),然后在结果中添加一列为 true false。

但是在 Laravel eloquent 中这怎么可能呢,我有我的模型 User 和我的模型 City。两种模型都将 city 列作为文本。 当然,查询应该尽可能高效,我不希望每一行都有一个单独的查询。

谢谢

最佳答案

User::join('City','user.city','=','city.name')
->select(user.city,DB::raw('(CASE WHEN user.city <> NULL THEN 1 ELSE 0 END) AS is_user')
  )

关于database - Laravel Eloquent - 选择连接,其中列文本类似于其他表中的列文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54436803/

相关文章:

database - 了解数据库模式

laravel - 如何在 aws Elastic beanstalk 中更新 laravel 项目,同时保持相同的存储

node.js - 什么样的驱动程序用于将 Node.js 应用程序连接到数据库?

sql - 表扫描与添加索引——哪个更快?

javascript - Laravel 5.4 中如果记录存在禁用按钮

php - 为 laravel SPA 生成动态 csrf-token

mysql - gorethink 内连接

sql - 如何像这样显示 SQL 结果

unix - 按 2 列连接 2 个文件,使用 awk 保留所有记录

java - 数据库中数据类型大小的问题