Php 如何在Laravel中实现子模型
我的基础课是波斯特 还有很多子模型,如:视频贴子、图像贴子 所有类都有特定的属性&继承父属性 &所有类都需要特定的行为 问题 当在post模型上找到elequent给出超级模型(post)实例时,它是错误的Php 如何在Laravel中实现子模型,php,laravel-5.1,Php,Laravel 5.1,我的基础课是波斯特 还有很多子模型,如:视频贴子、图像贴子 所有类都有特定的属性&继承父属性 &所有类都需要特定的行为 问题 当在post模型上找到elequent给出超级模型(post)实例时,它是错误的 我需要子模型的实例如果我理解正确,您需要关系 将hasMany关系添加到您的Post.php模型: public function videos() return $this->hasMany(App\PostVideo::class); } public function
我需要子模型的实例如果我理解正确,您需要关系 将
hasMany
关系添加到您的Post.php
模型:
public function videos()
return $this->hasMany(App\PostVideo::class);
}
public function post() {
return $this->belongsTo(App\Post::class);
}
只要您的post\u video
表有一个引用post的post\u id
列,您就可以这样调用此关系:
foreach($post->videos as $video) {
// Do something
}
和反向关系:
将关系添加到您的PostVideo.php
模型:
public function videos()
return $this->hasMany(App\PostVideo::class);
}
public function post() {
return $this->belongsTo(App\Post::class);
}
当然,如果你有视频,你可以通过以下方式访问它所属的帖子:
$video->post
看起来你想要一个。在laravel中,这可以手动完成,也可以使用类似或的软件包。要手动使用单表继承,我建议您首先阅读。但是,请注意,单表继承将所有内容放在一个表中,但由多个具有不同行为的模型引用。如果这不是你想要的,只需使用简单而雄辩的查询和模型——阿月浑子已经解释过了。你想做什么还不清楚。请提供更多的信息和代码示例。您的模型看起来像….?我想从模型继承子模型?基本上是一个共享属性但在子模型上添加了更多细节的模型?这可以通过几种方式实现,简单的雄辩(仍然使用单个主模型)或单表继承(在一个表上使用多个主模型)。