【发布时间】:2017-04-24 14:05:17
【问题描述】:
我想知道是否可以在 laravel/sql 中创建一个连接,它只替换不为空的值。
我正在尝试创建一个“更改”表。如果对用户进行了更改,则会将其保存到更改表中。如果一个人想要选择所有用户,他可以看到这些用户,如果他们存在于更改表中,他会看到结果中的更改。
示例: 我有一个包含以下字段的用户表:姓名和年龄。 一个人更改了年龄,更改表中出现了一个新行,其中 name 字段为 NULL,年龄为新年龄。
然后我选择 users 表并查看旧名称(因为它在更改表中为 NULL)和新年龄(也因为它在更改表中)
尝试了加入,但没有成功:
$data = DB::table('changes')
->join('users', 'changes.user_id', '=', 'users.id')
->select('*')
->get();
【问题讨论】:
-
到目前为止你尝试过什么?如果您尝试过,请在问题中包含您的代码。
-
答案是肯定的,这是可能的。如果您可以包含您正在查找的数据和查询结果的示例,这将很有帮助。
-
如果你的用户有 null 的变化,那你为什么不做 DB::table('users')->('changes') ?
-
@Rodrane 嗯,你是什么意思?