gpt4 book ai didi

Laravel 同一张 table 上的几个模型

转载 作者:行者123 更新时间:2023-12-04 11:24:51 24 4
gpt4 key购买 nike

我需要一个带有问题和答案的数据库。我想将这些问题和答案放在名为 Post 的同一个数据库表中。会有一个字段 post_type,它告诉我帖子是一个问题还是一个答案。

我如何在 Laravel 模型中实现这一点?

谢谢。

最佳答案

您实际要查找的内容称为单表继承。你可以在这里找到一种实现方法:http://www.colorfultyping.com/single-table-inheritance-in-laravel-4/

基本上,按照此方法,您将拥有一个名为 object_class 的字段。在您的 posts表,这就是你所说的 post_type ,包含选择帖子时要实例化的模型的类名。

这种方法的好处是,无论您使用何种方法来检索模型实例(首先、在哪里、查找...),都将实例化正确的类。

例如 :

// this will return an Answer instance (if the class_name is Answer)
$post = Post::find(1);

// which will be the same as
$answer = Answer::find(1);

// and this will return nothing
$question = Question::find(1);

关于Laravel 同一张 table 上的几个模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22021481/

24 4 0