我有一个问题,我想在一个页面中显示所有帖子
这是我的发电机
用户表:用户id |电子邮件|名称|密码
帖子表:id|身体|user_id
user_id我链接,所以一个用户有很多帖子。
我只是简单地使用Auth::user()-
但如何做到以下几点呢?
姓名(来自用户):正文(来自帖子)
邮递php
class Post extends \BaoPham\DynamoDb\DynamoDbModel
{
public function user()
{
return $this->belongsTo('App\User');
}
protected $table = 'posts';
protected $fillable = array('id');
}
使用者php
class User extends \BaoPham\DynamoDb\DynamoDbModel implements Authenticatable
{
use \Illuminate\Auth\Authenticatable;
public function posts()
{
return $this->hasMany('App\Post');
}
protected $table = 'users';
protected $fillable = array('email');
protected $primaryKey = 'user_id';
}
后置控制器。php
class PostController extends Controller
{
public function getDashboard()
{
$posts = Post::all();
return view('dashboard', ['posts' => $posts]);
}
仪表板刀身php
@foreach($posts as $post)
<p>{{ $post->body }}</p>
by {{ $post->users->name}}
@endforeach
加载仪表板页面时出错
尝试获取非对象的属性(视图:resources\views\dashboard.blade.php)
但它只使用$post-
实际上在laravel表中应该有id作为主键。
上述关系不正确
后模型:
public function user()
{
return $this->belongsTo('App\User','user_id','user_id');
}
用户模型
public function posts()
{
return $this->hasMany('App\Post','user_id','user_id');
}