如果我有数据库表suggestions_votes
,那么Laravel(5.1)类(SuggestionsVote
或SuggestionVote
)的正确名称是什么?
表是通过迁移创建的,使用
Schema::create('suggestions_votes', ...
答案 0 :(得分:2)
Laravel推荐某些约定,但它们也为您提供了覆盖它们的选项。
如果您的模型是" SuggestionVote",那么与该模型相关联的表将是该类的蛇案例复数名称。换句话说,它会寻找表" suggestion_votes"。如果要覆盖关联的表名,可以将此属性添加到模型中:
protected $table = 'suggestions_votes';
如果您实际上正在为模型创建一个数据透视表"建议"和"投票",然后Laravel将按照惯例按字母顺序加入两个相关的模型名称。换句话说,它将寻找数据透视表" suggestion_vote"。您可以在定义关系时覆盖它。例如:
return $this->belongsToMany('App\Suggestion', 'suggestions_votes');
在哪里' App \ Suggestion'将是您的Suggestion类的完全命名空间路径。
答案 1 :(得分:0)
这取决于。你可以让任何名字都有效。
如果您无法控制数据库,则模型“应该”为SuggestionsVote
如果您确实可以控制数据库,我会将表重命名为suggestion_votes
,型号名称为SuggestionVote