Puis-je ajouter l'option de requête « avec » à mes requêtes dirigées par un modèle ?
P粉311563823
P粉311563823 2023-09-11 00:37:19
0
1
460

J'ai une requête, j'ai écrit une requête qui interroge les données

with last_sent_at as (
    Select offer_id, lead_id, max(created_at) as sent_at
    From offer_history
    Group by offer_id, lead_id)

Je dois le connecter au système de modèle Laravel. J'ai donc trois tableaux : leads => history => j'ai une demande Lead::with([..., 'offers'])->someFunction(?)->filters()->get();

J'ai besoin d'obtenir les données de 'last_sent_at' mais je ne sais pas comment le faire. J'ai essayé la sous-requête mais c'était très lent

P粉311563823
P粉311563823

répondre à tous(1)
P粉063862561

Vous pouvez y parvenir en définissant le tableau historique comme tableau croisé dynamique, de sorte que la requête ressemblera à ci-dessous.

$query = Lead::with([
             'history' => function($history) {
                $history->select(column names);
            },
            'history.offer' => function ($offer) {
              $offer => select(column names);
            }])->where('Your condition')
                 ->get();
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal