我有两张table:
qr_details表:
id product_id qrcode_id created_at updated_at
1 1 12 2017-10-09 15:36:15 2017-10-09 15:36:15
2 3 13 2017-10-09 15:36:15 2017-10-09 15:36:15
字符串
获奖名单:
id product_id qrcode_id winner_name win_number created_at updated_at
1 1 12 hello 5 2017-10-09 15:36:15 2017-10-09 15:36:15
2 3 13 world 6 2017-10-09 15:36:15 2017-10-09 15:36:15
型
现在我想得到qr_details
表product_id
和qrcode_id
到winners
表.我如何在Laravel中查询做到这一点?我已经做了一个SQL Fiddle**这里.**提前感谢.
4条答案
按热度按时间nhjlsmyf1#
我相信你可以这样做:
字符串
这将需要一点时间和两个查询
ltskdhd12#
我不太明白你的问题,但你可以试试这个:
字符串
woobm2wo3#
如果你要向
winners
表中添加新记录,那么你可以使用Eloquent
模型和insert
方法在一个查询中添加多条记录。字符串
然而,从您所说的猜测,这可能不是您想要的-因为您只希望添加
product_id
和qrcode_id
-换句话说,更新现有记录。如果是这种情况,并且如果
id
列在两个表中都匹配,那么您可以执行类似于以下操作:型
这再次假设您使用的是
Eloquent
模型-否则您必须使用Query Builder
:型
确保相应地更新表/模型名称。
现在,你的sql结构的一个问题是,你的
winners
表product_id
和qrcode_id
是NOT NULL
,所以它必须有一些数据,当第一次创建记录时。如果你要更新这些记录,我建议将这两列改为NULL
,这样最初它们就不需要任何数据。kx7yvsdv4#
我知道这个晚,但有人寻找解决方案,你可以使用
chunk
laravel函数.你的表有大量的记录,考虑使用批处理的方法,以避免内存问题.字符串