Php 在多个关系中存在下划线问题?
我使用的是最新版本的封装口才版本Php 在多个关系中存在下划线问题?,php,laravel,eloquent,Php,Laravel,Eloquent,我使用的是最新版本的封装口才版本 class Retailer extends Eloquent { // each retailer has many shipping_groups public function shipping_groups() { return $this->hasMany('ShippingGroup'); } } 模式是 $capsule::schema()->create('shipping_groups',
class Retailer extends Eloquent {
// each retailer has many shipping_groups
public function shipping_groups() {
return $this->hasMany('ShippingGroup');
}
}
模式是
$capsule::schema()->create('shipping_groups', function($table) {
$table->increments('shipping_group_id');
$table->string('label');
});
但是$retailer->shipping\u groups
确实返回了NULL
。我用公共函数xy()
进行了尝试,结果成功了。在我将SQL表命名为shipping\u groups
时,我还尝试了$retailer->shippinggroups\u test
,它显然不是同名的,并且带有下划线,这也不起作用
那么,下划线是否存在普遍问题?通常通过在属性中使用?还是怎样是虫子吗?还是我太笨了,看不到自己的错误?1。您可以在模型中定义
protected$table
string变量,并将其设置为其表的调用方式,以防您决定不遵守命名约定2。shipping\u groups
表不包含retailers
表的键,它应该如何建立关系?如果我误解了您的模式,很抱歉,但我觉得有些地方不对劲。您会添加两个要共享关系的模型吗?ShippingGroup
型号不存在,是吗@KaloyanDoichinov认为这个过程是正确的,所以这将帮助我们进一步解读它。从您发布的代码中,我看不到@KaloyanDoichinov所说的这两个表之间的关系。如果您发布了retailers表的模式,或者发布了pivot表(如果有的话),这将非常有用。