gpt4 book ai didi

php - laravel Eloquent 关系不起作用

转载 作者:行者123 更新时间:2023-11-28 23:10:17 25 4
gpt4 key购买 nike

我是 laravel 的新手。我正在尝试在两个表之间建立关系。

我的数据库表

评论表

            $table->increments('id');
$table->text('comment');
$table->string('shop_name','80');
$table->bigInteger('product_id');
$table->timestamps();

评论图片表

        $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');
}

评论_图像模型

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();

它们都不起作用!

我该怎么办?

最佳答案

您是否正确使用了命名空间?例如,“App\Comments_images”。此外,模型最好保留为单数 - 例如,“Comment”或“Comment_Image”。我提出这个问题是因为您不一致,这可能会导致错误。最后一件事是使用类的字符串,而不是返回实际的类。请参阅下面的示例,注意大小写,并且我没有在某些内容上加上“s”。

// 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');
}

编辑:随意使用 Comment::class 而不是字符串 'App\Comment' - 它解析为相同的东西并且与编辑器导航一起工作得更好,自动完成和其他有用的东西。

关于php - laravel Eloquent 关系不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46187142/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com