是否可以將刀片模板分配給模型?
而不是這樣做:
@php $contact = Contact::find(1); @endphp
@include('contact', ['contact' => $contact])
我只想做:
@php $contact = Contact::find(1); @endphp
{{ $contact }}
但后者顯然只是在 json 中吐出模型。
uj5u.com熱心網友回復:
PHP 的__toString()魔法方法是可能的:https : //www.php.net/manual/en/language.oop5.magic.php#object.tostring
讓我們為默認User.php模型做一個例子。
首先,為該模型創建一個刀片檔案,讓我們創建/resources/views/model/user.blade.php一個虛擬組件;
<h1>{{ $user->name }}</h1>
<p>{{ $user->created_at->diffForHumans() }}</p>
現在,讓這個默認__toString()的User模式。
將此添加到app/Models/User.php;
/**
* @return string
*/
public function __toString(): string
{
return view('model.user', ['user' => $this]);
}
現在您可以直接在您的routes/web.php;
Route::get('test', function () {
echo \App\Models\User::first();
});
或者嘗試在任何視圖中呼應它;
{!! $user !!}
你不能使用,{{ $user }}因為你需要那個 HTML 標簽,所以你必須把它用作{!! $user !!}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/336382.html
