In Laravel, ho due tabelle denominate Booking and Clients. Per una prenotazione specifica, ho una relazione con un singolo cliente. Tutto funziona bene quando chiedo a un cliente una prenotazione tranne quando includo o dove. Si prega di guardare lo snippet di codice qui sotto.o Dove non funziona con Laravel query di relazione eloquente
if($client_name!=null)
{
$client_name='%'.$client_name;
$bookings=$bookings->whereHas('client',function($q) use ($client_name){
$q->where('first_name','LIKE',$client_name)
//->orWhere('last_name','LIKE',$client_name);
});
}
Con la linea orWhere commentata, ottengo le prenotazioni corretto con il cliente con first_name
come specificato dall'utente. Ma quando uso o nella query per last_name
, tutte le righe vengono visualizzate come se last_name
corrispondesse per ogni riga.
Cosa c'è di sbagliato in questo? Aiuto per favore.
Controllare la query eseguita con 'DB :: getQueryLog()' ad esempio –
Il seguente è l'ultimo output: selezionare * da 'throttle' dove' user_id' =? limite 1. Sto usando il pacchetto Sentry per l'autenticazione. Query sopra viene eseguita nella pagina di amministrazione. – sangam
Questo non ci dice nulla, controlla quello per il tavolo 'clients'. Basta eseguire il codice che hai incollato e subito 'dd (DB :: getQueryLog())' o semplicemente farlo in CLI con artigiano stink –