методы запросов в Laravel

Я пытаюсь выяснить что-то в Laravel.
У меня есть модель «Телефон» и метод countproducts ().
Каждая модель «Телефон» имеет много «Продуктов».

Я использую countproducts () для подсчета продуктов, которые есть у телефона.

 $phones=Phone::where(function($query){
if(isset($min_weight) && isset($max_weight)){
$query-> where('weight','>=',$min_weight);
$query-> where('weight','<=',$max_weight);
}

Вот как я сейчас опрашиваю телефоны.

Можно ли запрашивать и показывать только телефоны с, скажем, более 50 продуктами?

заранее спасибо

РЕДАКТИРОВАТЬ: Phone.php

<?php namespace App;

use Illuminate\Database\Eloquent\Model;

class Phone extends Model {

public function productnum()
{
return $this->hasMany('App\Product');
}

public function productStore()
{
return $this->hasOne('App\Store');
}

public function category(){
return $this->belongsTo('App\Category');
}

public function minprice(){
return $this->productnum->min('newprice');
}

public function maxprice(){return $this->productnum->max('newprice');
}
}

product.php

<?php namespace App;

use Illuminate\Database\Eloquent\Model;

class Product extends Model {

public function manufacturer(){
return $this->hasOne('manufacturer');
}

public function phone(){
return $this->belongsto('App\Phone');
}

public function category(){
return $this->belongsto('App\Category');
}
public function store(){
return $this->belongsto('App\Store');
}

1

Решение

Прямо из документы.

$phones = Phone::has('products', '>=', 50)->get();

Вы должны быть в состоянии поставить перед get() ваш where() статьи.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]