2014-06-26 16 views
5

$ recourse-> pivot-> field = 'value' पर अतिरिक्त फ़ील्ड के लिए मूल्य कैसे सेट कर सकता हूं; केवल एक संबंध के संदर्भ में अतिभारित संपत्ति के अप्रत्यक्ष संशोधनमैं eloquent पिवट तालिका

+0

कोड दिखाएं, यह बस काम करता है। –

+1

'$ उत्पाद = उत्पाद :: ढूंढें ($ आइटम-> आईडी); $ ऑर्डर-> पिवट-> मूल्य = '1.234'; $ ऑर्डर-> उत्पाद() -> सहेजें ($ उत्पाद); ' – AxlSmith

उत्तर

12

pivot उपलब्ध है::

त्रुटि देता है

// won't work 
$model = Model::first(); 
$model->pivot; // null 

// will work 
$anotherModel = AnotherModel::first(); 
$relatedModel = $anotherModel->relation()->first(); 
$relatedModel->pivot; // Pivot object 

लेकिन के लिए आप बस save विधि में अतिरिक्त पैरामीटर का उपयोग करने के लिए कोशिश कर रहे हैं :

$product = Product::find($item->id); 
$order->product()->save($product, ['price' => 12.34]); 

मौजूदा संबंध के लिए:

$product = $order->product()->find($productId); 
$product->pivot->price = 12.34; 
$product->pivot->save(); 

// or 
$order->product()->updateExistingPivot($productId, ['price'=>12.34]); 

और मेरा सुझाव है कि आप पढ़ने के लिए आसान बनाने के लिए उस तरह के संबंध के लिए products का उपयोग करें।

0

आपको पिवट को स्वयं ही सहेजना चाहिए।

$order->pivot->price = '1.234'; 
$order->pivot->save(); 
संबंधित मुद्दे