我有一个问题,我想在页面中显示所有帖子
这是我的动力学
users表:user_id |电子邮件|名字|密码帖子表:id |身体|用户身份
user_id让我链接,所以一个用户有很多帖子 .
我只是简单地使用Auth :: user() - > user_id来获取用户ID并请求正文创建一个新的帖子项
但如何预告以下?
名称(来自用户):正文(来自帖子)
post.php中
class Post extends \BaoPham\DynamoDb\DynamoDbModel
{
public function user()
{
return $this->belongsTo('App\User');
}
protected $table = 'posts';
protected $fillable = array('id');
}
user.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';
}
PostController.php
class PostController extends Controller
{
public function getDashboard()
{
$posts = Post::all();
return view('dashboard', ['posts' => $posts]);
}
dashboard.blade.php
@foreach($posts as $post)
<p>{{ $post->body }}</p>
by {{ $post->users->name}}
@endforeach
加载仪表板页面时出错
尝试获取非对象的属性(查看:resources \ views \ dashboard.blade.php)
但它只适用于$ post-> body谢谢!
1 回答
实际上在laravel表中应该有 id 作为主键 .
提到的关系是不正确的
Post Model :
User Model