Kohana 3更新/添加相关条目

时间:2011-08-22 00:21:44

标签: kohana kohana-3

我目前正在使用Kohana 3.2编写一个应用程序,这很棒,但是文档还有一些不足之处。

我有一个食谱模型和一个评级模型,它们与has_many和belongs_to相关。评级属于食谱,食谱有很多评级。我已经能够成功检索配方的评级,通过查找与当前用户的id和配方相对应的评级与$ recipe-> rating-> where('user_id','=', '$用户> ID')。一旦我检索了评级,我就能够成功更新它。

    $recipe = ORM::factory('recipe')
        ->where('id', '=', $recipe_id)
        ->find();

    $my_rating = $recipe->ratings
        ->where('user_id', '=', $user->id)
        ->find();

    $my_rating->rating = $rating;
    $my_rating->save();

当评级尚不存在时,问题就出现了。在我搜索的所有内容中,我发现我应该使用$ recipe-> add()函数来添加评级,但是我仍然会遇到错误。当我尝试加载评级时,我应该检查它是否找到了一个条目?我觉得ORM有一种方法可以知道它是否存在,如果不存在,它应该创建它。

以上代码将创建新的评级,但不会自动将recipe_id添加到评级表中。我应该先将评级添加到食谱中吗?

1 个答案:

答案 0 :(得分:0)

你应该在'食谱'表中'raiting'coumn。

你正在做正确的事。

如果你在'食谱'表中'raiting'coumn所选行的raiting属性('raiting'coumn)将填入$ rating /.的值。