laravel 5 - поиск сопутствующих товаров по запросу "многие ко многим" - PullRequest
0 голосов
/ 29 октября 2018
Table 1: products: id,title
Table 2: features: id,name,values
Table 3:feature_product:id,product_id,values

Я хочу получить все сопутствующие товары при поиске в values в таблице feature_product.

Я делаю это:

в модели товара:

public function features()
{
    return $this->belongsToMany(Feature::class)->withPivot('values');
}

public function feature()
{
    // ???
}

и запрос для поиска:

 $q = 'yellow';
 $query->where(function($query) use ($q)
 {
    $query->WhereHas('feature' , function ($query) use 
    ($q){$query->where('values' , 'LIKE' , '%' . $q . '%' );});
 }

как мне искать в сопутствующих товарах продукты? (и получите эти продукты)

Я думаю, что я должен сделать что-то в этой функции в модели продукта:

public function feature()
{
        // ???
}

1 Ответ

0 голосов
/ 31 октября 2018

в модели продукта:

public function features()
{
  return $this->belongsToMany(Feature::class)->withPivot('values');
}

public function feature()
{
   // ??
}

в модели:

public function products(){
 return $this->belongsToMany('App\Product')->withPivot('values');
}

и поиск по запросу

$query->WhereHas('features' , function ($query) use ($q) {
$query->where('feature_product.values' , 'LIKE' , '%' . $q . '%' );
});
...