У меня есть два стола, скажем, продукты и конкурсы, в которых один продукт может быть выставлен многими пользователями. Естественно, у меня есть две модели:Laravel Eloquent используя «с» с условиями
class Product extends Model
{
public function biddings()
{
return $this->hasMany('App\Bidding');
}
}
class Bidding extends Model
{
public function product()
{
return $this->belongsTo('App\Product');
}
}
Таким образом, сказать, что я хочу, чтобы получить все продукты вместе с самой высокой цене торгов я сделал что-то вроде этого.
$productBidding = DB::table('biddings')
->select('*', DB::raw('max(price) as price'))
->join('products', 'products.id', '=', 'biddings.product_id')
->groupBy('product_id')
->get();
Это хорошо работает, но я вроде как хочу сделать это Ярким способом. Итак, как мне преобразовать способ Query Builder в Eloquent? Я в настоящее время на этом, но не знаю, как поставить «Макс» состояние в
$productBidding = Products::with('biddings')
->get();
Это не то, что я имел в виду, когда я использую :: с «присоединиться» ставки и продукт Я хочу, чтобы получить т он предлагает цену, которая имеет самую высокую цену. – Lee
Модели товаров и ставок между отношениями создают. Использование вызова модели, как указано выше. Вы должны использовать модельные отношения. Относитесь, см. Свою работу. –