我有一张名为user_buys
的表,看起来像是:
id | item_id | value | date
当我想创建一个新条目时,我会检查同一个item_id
上是否有相同date
的条目,如下所示:
$entry = UserBuy::firstOrNew(array('item_id' => $item_id,'user_id' => Auth::id(), 'date' => $date));
$entry->value = $value;
$entry->save();
因此,如果存在条目,则只需更新value
列。但是,有一个问题。还有另一个标题为user_sales
的表格,如下所示:
id | buy_id | sale_price
其中buy_id
是来自id
的{{1}}。如果user_buys
函数找到firstOrNew
组合的现有条目,则还应检查它是否存在于item_id/date
表中。所以基本上我需要一个user_sales
来检查购买的商品是否已售出。在这种情况下,我需要在leftJoin
中创建一个新条目,而不是更新现有条目。
我可以使用大约3个单独的查询编写更复杂的代码来执行此操作,但我想知道是否有办法使用user_buys
方法进行此额外检查。