对FuelPHP来说是全新的我有几个问题......
我开始使用Oils脚手架功能创建一个简单的博客应用程序。之后,我在ORM文档之后设置了表格之间的所有关系(表格称为“帖子”,“类别”和“categories_posts”)。 Everthing完美地工作并且到目前为止受到尊重,例如选择关系数据(帖子及其相关类别)。
但现在我不得不使用Oil生成的表单创建新帖子。我已对其进行了修改,并为存储在数据库中的每个类别添加了一个复选框。提交表单会在“帖子”表格中插入记录,但不会在“categories_posts”表格中插入记录。
这是正确命名复选框的问题吗?或者我是否需要为'categories_posts'表编写模型?我错过了什么?
答案 0 :(得分:1)
您无需为 categories_posts 表创建模型。
在 Controller_Posts 中的 action_create()方法中,数据库插入代码应为:
try
{
$post = Model_Post::forge();
$post->title = Input::post('title');
$post->text = Input::post('text');
/* the next line will create the relation between the two tables */
$post->categories[] = Model_Category::find(Input::post('category_id'));
if ($post and $post->save())
{
/* the post has been saved */
}
else
{
/* something went wrong */
}
}
catch (\Orm\ValidationFailed $e)
{
/* validation error */
}
您可以在documentation上查看建立和打破多个关系的示例。