2016-10-16 5 views
-1

laravel 5.2でx-editableを使用しています。私はデータソースから対応する値のテキストを保存します。私はデータベースに値を格納することしかできません。データソースから値のテキストを取得する方法: 'select'? (x編集可能)(laravel 5.2)

私の見解:

<label>Course:</label><a href="#" id="course" data-name="course" data-type="select" data-value="" data-pk="{{Auth::user()->id}}" data-source="{1: 'B.tech', 2: 'M.tech'}" data-title="course" data-url="{{route('course')}}"></a> 

コントローラ:

public function course(Request $request) 
{ 

    $account = new Account(); 
    $name = $request->get('name'); 
    $value = $request->get('value'); 

    $request->user()->accounts()->update([$name => $value]); 




    return redirect()->back(); 
} 
+0

私は 'twitter-bootstrap'タグがオフだと思います。また、物事を明確にするために、データベースの値をhtmlで表示したいのですか?あなたは現在そこに何が見えますか? – Ivan

+0

@Ivan DBでは '1'と '2'が表示されますが、 'B.tech'と 'M.tech'はDBに格納する必要があります。 –

+0

あなたはAjaxコールを使用することができます。 –

答えて

3

X-編集可能なデフォルトでは、オプションの値とオプションの表示テキストとしてソース値としてソースオブジェクトキーでselectを作成します。当然のことながら、リクエストが送信されると、テキストの代わりに値(あなたの場合は1または2)が送信されます。

しかし、ソースが配列の場合、値はテキストと同じになります。あなたがコンポーネントを初期化するとき、あなたがそれを行うことができます属性として、あなたがまたはその代わりにソースを設定するので、データの元のソースを変更しないことができないのであれば、あなただけの

<a ... data-type="select" data-source="['B.tech', 'M.tech']"></a> 

を行うことができます。

$('#YOUR_ELEMENT').editable({ 
    // ... 
    source: function() { 
     var items = {1: 'B.tech', 2: 'M.tech'}; 
     return Object.keys(items).map(function(x) {return items[x];}); 
    }, 
    // ... 
}); 
関連する問題