0
votes

Le chargement impatient d'éloquent avec la relation Hasmany ne fonctionne pas

Mon code ne fonctionne actuellement pas, mais mes relations sont correctes.

Modèle de projet strong> p>

public function timeEntries()
{
    return $this->hasMany('App\Model\TimeEntries');
}

$array_of_project = Project::with('timeEntries')
    ->whereBetween('spent_on', [($request->debut)), ($request->fin))])
    ->get();


2 commentaires

retour $ ceci-> HASMANY ('App \ Modèle \ Timetries', 'Foreign_key', 'local_key');


Est épuisé une partie du projet ou des titres de temps? Si c'est des horaires de temps, vous devez ajouter une fermeture / sous-requête dans le avec


3 Réponses :


0
votes

Comme @AYNBER a écrit, si votre attribut épuisé code> fait partie du modèle associé, il devrait être inclus dans la requête avec une fermeture.

$array_of_project = Project::with(['timeEntries' => function ($time_entry) use ($request) {
    $time_entry->whereBetween('spent_on', [$request->input('debut'), $request->input('fin')]);
}])->get();


0 commentaires

0
votes

Si épuisé est une colonne dans la table TIME_ENTHIES , puis votre où entre n'est pas correct car il apparaîtra à l'intérieur des projets / code> table. Mais vous pouvez l'ajouter à avec à la place: xxx


0 commentaires

1
votes

On dirait que vous essayez de contraindre les enregistrements de la relation. Je suggère de regarder la documentation pour contraindre le chargement impatient. Voici un échantillon de code de ce que je pense que vous essayez d'accomplir: xxx

https://laravel.com/docs/5.8/eloquent-relationships#constraint-eager-Art


0 commentaires