【发布时间】:2021-08-18 09:13:15
【问题描述】:
我是一个新的 Livewire 用户,我想使用我的 Blog 表中用户的外键从 User 表中获取特定名称。我不确定如何将代码放入render() 和 Blade 模板中。我见过这样的事情:{{ blogs->id->name }}。我怎样才能想出一个解决方案?
用户表
Schema::create('users', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('email')->unique();
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
博客表
Schema::create('blogs', function (Blueprint $table) {
$table->id();
$table->foreignId('user_id')->constrained();
$table->string('title');
$table->text('heading')->nullable();
$table->text('paragraph');
$table->text('featured_img');
$table->timestamps();
});
在用户模型中声明
public function blogs()
{
return $this->hasMany(Blogs::class);
}
在博客模型中声明
public function user()
{
return $this->belongsTo(User::class);
}
Blogs 类中的render() 方法
public function render()
{
$blogs = Blogs::where('user_id', Auth::id())->orderBy('created_at', 'desc')->paginate(3);
$user = User::where('id', Auth::id())->get();
return view('livewire.admin.blogs', [
'blogs' => $blogs,
'user' => $user
])->layout('layouts.admin');
}
【问题讨论】:
标签: laravel eloquent laravel-livewire