Ik heb nu de volgende tabelstructuur:
Hierbij heb ik de bijbehorende models:
In deze is mijn 'Customer' model ook gelijk de ingelogde user.
Het ophalen van een enkele 'Supplier' doe ik nu op de volgende manier:
Dit werkt, en ik krijg netjes het supplier object terug, Echter wil ik hier ook de inhoud van het 'notes' veld bij terugkrijgen, en dan specifiek de notities geplaatst door de ingelogde customer. Ik dacht dit te kunnen doen via de 'pivot' functionaliteit, echter krijg ik dan de aantekeningen van alle gerelateerde customers terug. Dit is niet de bedoeling. Is er een manier waarmee ik dit voor elkaar kan krijgen? (Bij voorkeur zonder zelf te gaan querien)
customers | |
---|---|
id_customer | name |
suppliers | |
---|---|
id_supplier | name |
customer_suppliers | ||
---|---|---|
id_supplier | id_customer | notes |
Hierbij heb ik de bijbehorende models:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
| <?php class Supplier extends \Eloquent { public function customers() { return $this->belongsToMany('Customer', 'customer_suppliers', 'id_customer', 'id_supplier'); } } class Customer extends \Eloquent { public function suppliers() { return $this->belongsToMany('Supplier', 'customer_suppliers', 'id_customer', 'id_supplier'); } } |
In deze is mijn 'Customer' model ook gelijk de ingelogde user.
Het ophalen van een enkele 'Supplier' doe ik nu op de volgende manier:
PHP:
1
2
3
4
5
6
7
8
9
| <?php class SuppliersController extends \BaseController { public function show($id_supplier) { $supplier = Supplier::findOrFail($id_supplier); return View::make('supplier.show', compact('supplier')); } } |
Dit werkt, en ik krijg netjes het supplier object terug, Echter wil ik hier ook de inhoud van het 'notes' veld bij terugkrijgen, en dan specifiek de notities geplaatst door de ingelogde customer. Ik dacht dit te kunnen doen via de 'pivot' functionaliteit, echter krijg ik dan de aantekeningen van alle gerelateerde customers terug. Dit is niet de bedoeling. Is er een manier waarmee ik dit voor elkaar kan krijgen? (Bij voorkeur zonder zelf te gaan querien)