我是laravel的新手。我正在尝试在两个表之间建立关系。
我的数据库表
评论表
$table->increments('id');
$table->text('comment');
$table->string('shop_name','80');
$table->bigInteger('product_id');
$table->timestamps();
comments_images表
$table->increments('id');
$table->bigInteger('comment_id');
$table->string('images','255');
$table->string('shop_name','80');
$table->timestamps();
=========================
评论模型
public function images()
{
return $this->hasMany(Comments_images::class,'comment_id');
}
Comments_images模型
public function comments()
{
return $this->belongsTo(Comment::class);
}
我试图像这样返回相关数据
return Comments_images::find(439)->comments()->get();
return Comment::find(880)->images()->get();
return (new Comment())->images()->get();
它们都不起作用!
我该怎么办?
答案 0 :(得分:1)
您是否正确使用了命名空间?例如,' App \ Comments_images' ..此外,模型最好保持单数 - 例如,'评论'或者' Comment_Image'。我提出这个问题是因为你没有保持一致,这可能导致错误。最后一件事是使用类的字符串,而不是返回实际的类。请参阅以下示例,并注意大小写,并且我没有注意到'关于某些事情..
// in Comment model
public function images()
{
return $this->hasMany('App\Comments_Image','comment_id');
}
// in Comments_Image model
public function comment()
{
return $this->belongsTo('App\Comment', 'id', 'comment_id');
}