2016-05-07 8 views
1

私はプロジェクトに取り組んでいます。配列リストを文字列に変換するのに助けが必要です。文字列変換への配列Laravel 5.2

これは私のコントローラです:

public function editprofila($id) 
{ 
    $user = User::findOrFail($id); 
    $gradovi = Grad::all(); 

    $nazivGrada = DB::table('grad') 
     ->select('grad.naziv_grada') 
     ->join('users', 'grad.id', '=', 'users.id_grada') 
     ->where('grad.id', '=', Auth::user()->id_grada) 
     ->get(); 

    if ($user->id == Auth::user()->id || Auth::user()->legenda == 1) { 
     return view('korisnik.uredivanje_profila', 
      compact('user', 'gradovi', 'nazivGrada') 
     ); 
    } 
} 

などENGなどnazivGradaによって選択肢から一つの値を選択するにはどうすればよいです。名前シティ

<select class="form-control" name="id_grada" id="id_grada"> 

    @foreach($gradovi as $grad) 

    <option value="{{$grad->id}}" selected="">{{$grad->naziv_grada}}</option> 

    @endforeach 

    <option value="{{Auth::user()->id_grada}}" selected="selected">{{''.$nazivGrada.''}}</option> 

</select> 

私の問題は$nazivGradaは、このような配列のリストである

[{"naziv_grada":"Rovinj"}] 

と、私はエラーを取得するということです。 文字列変換への配列。何が起こっている

答えて

2

あなたは

$nazivGrada = DB::table('grad') 
     ->select('grad.naziv_grada') 
     ->join('users', 'grad.id', '=', 'users.id_grada') 
     ->where('grad.id', '=', Auth::user()->id_grada) 
     ->first(); 

を行い、その後に表示する場合:

<option value="{{Auth::user()->id_grada}}" selected="selected">{{ $nazivGrada->naziv_grada }}</option> 
+0

彼が得ることができ、すべてが1つの結果であれば、あなたのソリューションは権利です。さもなければ、彼は他のいくつかの結果を見逃すでしょう –

+0

さもなければ、彼はループを最初のものが好きにするでしょう。しかし、答えを見ることによって、私は彼が探しているものだとは思わない。 –

0

あなたは$ nazivGradaのために余分なクエリを必要としません。テンプレートで

あなたは、単に行うことができます。

@foreach($gradovi as $grad) 
    <option value="{{$grad->id}}" selected="{{ $grad->id == Auth::user()->id_grada ? 'selected' : '' }}">{{$grad->naziv_grada}}</option> 
@endforeach 
関連する問題