我目前正在使用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添加到评级表中。我应该先将评级添加到食谱中吗?
答案 0 :(得分:0)
你应该在'食谱'表中'raiting'coumn。
你正在做正确的事。
如果你在'食谱'表中'raiting'coumn所选行的raiting属性('raiting'coumn)将填入$ rating /.的值。