2017-10-12 85 views
0

我有一個飛行類的許多關係,這次飛行有像這樣一個自定義的視野:Laravel揹包:存儲屬於使用自定義視圖

enter image description here

這代表了屬於存儲一對多的關係website_id/flight_id和定價作爲數據透視表中的透視數據。

自定義視圖使用JS這個數據發送回控制器格式爲:

{"1":{"price_adult":"434","price_child":"545"},"2":{"price_adult":"323","price_child":"324"},"3":{"price_adult":"434","price_child":"43"}} 

嘗試發送該請求不創建關係領域的這個數據,因爲我沒有在控制器中創建這個點時的航班ID我無法循環這個JSON手動建立關係。

任何人都可以指出什麼是最佳行動方案,或者是否有支持?我看了一下文檔,但是在幫助很大的時候,它們非常短小,並且很不完整。

編輯: 我應該說我可以使用關係模型上的一個自定義名稱屬性進行這項工作,然後添加一個集變位器來循環這些數據並更新價格關係,但我不想如果有這方面的支持,請沿着這條路線走下去,因爲我缺少開箱即用的揹包。

EDIT2:

有人問起的關係:

$this->belongsToMany(Website::class, 'website_pricing')->withPivot('price_adult', 'price_child'); 

這是工作的罰款,它不是一個與關係工作的我怎樣才能揹包到數據存儲爲一個關係問題時,航班還沒有身份證,或者我怎麼能通過我上面發佈的數據,以便揹包殘餘控制器可以處理它?

回答

0

基本上認爲我應該發佈我做了什麼,因爲沒有人可以提供這個答案。

所以基本上你必須從父母複製商店/更新功能,改變幾行。

$this->crud->hasAccessOrFail('create'); 

    // fallback to global request instance 
    if (is_null($request)) { 
     $request = \Request::instance(); 
    } 

    // replace empty values with NULL, so that it will work with MySQL strict mode on 
    foreach ($request->input() as $key => $value) { 
     if (empty($value) && $value !== '0') { 
      $request->request->set($key, null); 
     } 
    } 

    // insert item in the db 
    $item = $this->crud->create($request->except(['save_action', '_token', '_method'])); 
    $this->data['entry'] = $this->crud->entry = $item; 

    // show a success message 
    \Alert::success(trans('backpack::crud.insert_success'))->flash(); 

    // save the redirect choice for next time 
    parent::setSaveAction(); 

    return parent::performSaveAction($item->getKey()); 

基本上這在使用$this->method需求父類引用的函數中的任意線改爲parent::

這行是我用來提交傳遞給控制器​​關係$item->prices()->sync(json_decode($request->input('prices'), true));

關係JSON字符串

這是在包含$item = $this->crud->create的行後面完成的,因爲剛剛存儲的項目ID在該點可用。

0

如果未提供航班編號,您可能需要先創建航班。你能更多地解釋數據庫關係結構嗎?

+0

這應該是一個評論,而不是一個答案。 – Neat

+0

這個關係只是一個屬於許多具有樞軸值的問題,問題是沒有顯示我已經完成的這些數據。問題更多的是「揹包支持這個,如果是的話,怎麼樣?」因爲我可以破解一個方法來獲得這個工作,但是如果它以某種沒有文檔記載的方式被支持的揹包(如它的許多特性),我該如何使用它? – Sam

相關問題