2013-09-29 21 views
13

Çok sayıda ilişkide pivot tabloda ek sütun verilerini güncellemeye çalışıyorum.laravel4 pivot tablodaki ek sütunları güncelleştirin

İki tablom var - pivot tabloyla bağlantılı rezervasyon ve kaynak. Modelle iliştirebilir ve çalışabilirim. Ancak pivot tablodaki ek sütunlardan birini güncellemeye çalışıyorum.

bir nesne vardır: Ben kullanarak başka nesne $ kaynak oluşturduk o nesnenin itibaren '$ rezervasyon' a foreach döngü kullanılarak $resources aracılığıyla

$resources = $reservation->resource()->get(); 

Sonra yineleme ediyorum

foreach($resources as $resource) {...} 
şöyle

Daha sonra gcal_id adlı bir sütunu güncellemek istiyorum ve aşağıdakileri kullanıyorum:

Ben görebildiğim modeli var_dump Eğer mülkiyet doğru değere var ama veritabanında kendisinde giriş güncellenmektedir değildir - bu yüzden kaydetme

çalışmıyor ben ilişkinin her iki tarafında yer alan sütuna sahip bununla: Ben kaynak nesne nasıl pivot tabloda doğru bir sütunu güncelleştirmek ve veritabanına kaydetmek zorunda Verilen

->withPivot('start', 'end', 'quantity', 'product_id','gcal_id') 

? İsterseniz

$resource->save(); 

: Sen kaynak değil pivotu kurtarmak görünmektedir

$resource->pivot->gcal_id = "TEST"; 

:

Teşekkür

cevap

24

Bundan sonra Aks üzerinde öznitelik kümesi kaydedilecek pivot, kaynak tasarrufu yeterli değildir. yerine eksen tasarruf Çağrı:

$resource->pivot->gcal_id = "TEST"; 
$resource->pivot->save(); 
+0

Teşekkür ederiz sen. Hâlâ kafamdaki ilişkileri almamışım. Metotları doğru yapmaya çalışıyorum. Çözümünüz işe yaradı - hangi modeli manipüle ettiğimi dikkate almalıyım – Ray

3

yerine save yöntemin bir alternatif yöntemdir Illuminate\Database\Eloquent\Relations\BelongsToMany\updateExistingPivot()

$reservation->resource()->updateExistingPivot($resource_id, ['gcal_id' => 'TEST']); 

Ya

$reservation->resource()->updateExistingPivot([1, 4, 5, 6], ['gcal_id' => 'TEST']); 

Laravel 4.2

benim için bu çalışma
İlgili konular