【发布时间】:2014-06-07 07:18:35
【问题描述】:
我正在为一个项目使用 Laravel 4。
我有两张表,“拍卖”和“出价”,我想获取所有出价最低的拍卖。 (我想得到所有的“投标”模型)
我可以在 SQlite 中为每个拍卖编写查询,例如:
select *,min(bids.amount) from auctions,bids where auctions.id = bids.auction_id and auctions.id = 2 ;
我已经设置了关系拍卖 hasMany('Bids') 和 bids belongsTo('Auction') 以便我可以调用
$auctions = Auction::with('bids')->get();
使用嵌套的 Bids 模型获得所有拍卖,以便我可以调用
$auctions->bids
在我看来访问出价。
由于我不想获取 100 个出价并计算视图中的最低价,将最低出价逻辑移入模型的最佳方法是什么?
更新
两种解决方案都有效,实际上最有效的方法是将其放入模型中
public function getLowestBidAttribute() {
return $this->bids()->orderBy('amount','asc')->first();
}
由于保持应用程序的其余部分更干净,我可以定义其他方法来获取具有不同逻辑的出价。
【问题讨论】:
标签: php sql sqlite orm laravel