請教 laravel view 怎麼顯示 controller 中傳遞的對象值。

來源:互聯網
上載者:User
Controller 代碼:

public function show(Request $request,$id){$person = DB::table('persons')->where('id',$id)->get();return view('showuser',compact('person'));}

我在 view/showuser.blade.php 怎麼寫才能顯示出 person 這個對象的值?

必須這麼寫才行 {{ $person[0]->id }} ???

感覺這樣顯示的值是個數組啊。 不是對象啊。

view()->withXXX
view('xxx,compact('xxx'))
這些傳遞到 view 的資料 都應該怎麼顯示???
這些資料都是什麼形式?
希望熟悉 laravel 的 指點下~

回複內容:

Controller 代碼:

public function show(Request $request,$id){$person = DB::table('persons')->where('id',$id)->get();return view('showuser',compact('person'));}

我在 view/showuser.blade.php 怎麼寫才能顯示出 person 這個對象的值?

必須這麼寫才行 {{ $person[0]->id }} ???

感覺這樣顯示的值是個數組啊。 不是對象啊。

view()->withXXX
view('xxx,compact('xxx'))
這些傳遞到 view 的資料 都應該怎麼顯示???
這些資料都是什麼形式?
希望熟悉 laravel 的 指點下~

$person = DB::table('persons')->where('id',$id)->get();

這句其實是從 Builder 對象中取回一個 Collection 對象,而該 Collection 對象中包含了 Person 對象。Collection 實現了數組相關的介面,所以也可以使用訪問數組的方式擷取 Person 對象。

如果想通過 id 直接擷取 Person 對象,可以使用 find 方法:

$person = DB::table('person')->find($id);

Blade 中可以使用 @for、@foreach 或 @forelse 等遍曆對象集合,再顯示對象的屬性值:

@forelse($persons as $person)    
  • {{ $person->name }}
  • @empty Nothing.@endforelse

    對於單個對象自然直接存取即可:

    Hello, {{ $person->name }} !

    樓主既然寫了擷取某個ID的使用者,那根本用不到 foreach 了吧。只擷取一個使用者的可以直接用 first() 方法:

    $person = DB::table('persons')->where('id',$id)->first();// Or$person = DB::table('persons')->where('id',$id)->firstOrFail();

    這樣的話在 view 中可以直接 $person->name 來顯示,而不用 $person[0]->name 了。

    你需要@foreach

    樓上正解

    @foreache($person as $temp) {$temp->foo}@endforeach

    你查詢出來的資料形式可以試著

    dd();

    laravel中傳遞的資料一般都為JSON數組形式

    同在學習laravel,如有錯誤的地方歡迎指出

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.