0
votes

Quertielle Laravel n'utilise pas la clause de la date de la date

J'ai fait une requête Laravel qui obtient toutes les données mais n'utilise pas la clause WHERE pour $ StartDate. xxx

sans la date de début de travail Obtient toutes les données qui n'est pas vraiment l'idée. Aucune idée de la procédure à suivre?


3 commentaires

Salut Sam, avez-vous la requête originale que vous utilisez pour l'argument '$ QueryTwo'?


Est-ce que cela répond à votre question? Laravel - Eloquant "a" "," avec "," où ", - Que veulent-ils dire?


@Robertyoung $ QueryTwo est juste une partie du constructeur de requêtes


3 Réponses :


0
votes

Essayez d'utiliser où () code> à la place. xxx pré>

aussi, essayez de casting start_date code> des champs à ce jour en ajoutant quelque chose comme ci-dessous à votre GraisseTASK CODE> MODÈLE: P>

protected $dates = [
    'start_date',
    'end_date'
];


2 commentaires

Je ne pense pas à sa date, en regardant la barre de débogage, la requête n'utilise pas la clause de la déclaration.


Essayez de vous engager le deuxième avec () . La première avec () déclaration est probablement surchargée par la deuxième déclaration.



0
votes

Si je déplace la -> get () forte> à juste après la clause où il reçoit les données, y compris la date de début, mais n'inclut pas le reste de l'avec!

$user->studentGroups()->with([
            'GroupTasks' => function ($queryTwo) use ($startdate)

    { return $queryTwo->where('start_date', '>', $startdate); } // THIS LINE IS NOT WORKING!!

    ])->get() // ADD GET() HERE NOW WORKS

->with(['GroupTasks.prgressList' => function ($queryThree) use ($student_id)
        { return $queryThree->where('progress_student_task_users.mis_id', $student_id); },
            'GroupTasks.studentViews' => function ($queryfour) use ($student_id){ return $queryfour->where('student_task_user_vieweds.mis_id', $student_id)->latest(); },
    ])->get();


0 commentaires

1
votes

Essayez ceci:

$user->studentGroups()
    ->with([
        'GroupTasks' => function ($query) use ($startdate, $student_id) {
            return $query->whereDate('start_date', '>', $startdate)
            ->with([
                'prgressList' => function ($query) use ($student_id) {
                    return $query->where('progress_student_task_users.mis_id', $student_id);
                },
                'studentViews' => function ($query) use ($student_id) {
                    return $query->where('student_task_user_vieweds.mis_id', $student_id)->latest();
                },
            ]);
        }

    ])->get();


1 commentaires

Non, je continue à obtenir l'erreur: variable non définie: étudiant_id