2017-02-23 50 views
0

У меня есть 2 стола, торговцы и транзакции. у торговцев есть (середина, имя, возраст), а транзакция имеет (id, mid, order_no,). Я отобразил такие данные, как (orderid, name) с eagerloading. теперь у меня есть функция поиска сверху, где я могу искать все заказы по имени продавца. Как мне это сделать? им»пытается что-то вроде этогофункция поиска искать значение параметра в связанной таблице

public function search($search){ 
     $query = Transaction::with('themerchant') 
     ->join('merchants','transactions.mid', '=', 'merchants.mid') 
     ->select('merchants.name', '=' , '%'.$search.'%')->paginate(10); 
     return $query; 
    } 

ответ

1

О вы используете eagerLoading ли это

public function search($search){ 
    return Transaction::with(['themerchant' => function($query){ 
     $query->where('name', 'like', '%'.$search.'%'); 
    }])->paginate(10);; 

}

Если вы хотите точный коммерсант матч изменить Where как этот

... 
->where('name', '=' , $search) 
... 

Если вы хотите использовать Присоединиться

public function search($search){ 
    return Transaction::join('merchants', 'merchants.mid', '=', 'transactions.mid') 
    ->where('merchants.name', 'like', '%'.$search.'%') 
    ->get(); 
} 
+0

thxx @EddyTheDove, он ничего не возвращает. Пусто – Mikethetechy

+1

Повторите попытку. Вы используете обновленную версию eagerLoading. – EddyTheDove

+0

thxx @EddyTheDove все еще получает пустые результаты – Mikethetechy