J'ai trois Table comme structure ci-dessous.Laravel vérifier plus d'un paramètre sur eloquant-relation
Table- AccountService
id | service_id| account_id|
----------------------------
1 | 1 | 8181 |
2 | 2 | 8181 |
3 | 3 | 8181 |
4 | 5 | 8181 |
Tableau: - Services
id | Name |
------------
1 | A |
2 | B |
3 | C |
4 | D |
Tableau: - CompletedService
id | service_id | account_id
------------------------------
1 | 1 | 8181
2 | 1 | 8182
3 | 1 | 8181
4 | 2 | 8181
Maintenant, ma relation avec la requête est ci-dessous.
$acc = AccountService::with(['service' => function($q) {
}])->with(['completedServiceRest' => function($q) {
}])->where('account_id', $account_id)->get();
Comment puis-je obtenir des enregistrements en partie des relations sur la base de account_id et service_id les deux. Actuellement les enregistrements sont affichés en relation de completedSericeRest ont tous les enregistrements qui account_id correspond à la table AccountService. Lorsque cette relation se produit, vérifiez à la fois service_id et account_id du service achevé et non seulement account_id.
Ci-dessous la parenté dans le modèle.
public function completedServiceRest() {
return $this->hasMany('App\CompletedService', 'account_id', 'account_id');
}
vous recevez actuellement tous les enregistrements du account_id correspondent pas sur la base des deux service_id paramètres et ACCOUNT_ID affectent seulement account_id.
Merci à l'avance.
non, je ne peux pas modifier ma structure de la table, car il y a beaucoup d'ot son domaine y est non seulement complété ou non par 0,1. donc ça ne marchera pas. TX –