Laravel的firstOrNew加入了联盟?

时间:2018-03-21 12:56:27

标签: php laravel eloquent

我有一张名为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方法进行此额外检查。

0 个答案:

没有答案