Php laravel中不同于模型名称的列的关系
我有两张表,分别是事件和组织。在一个组织中可能有多个事件。过去我不熟悉laravel,所以我创建了事件和组织模型。我在迁移事件表中添加了外键,如下所示Php laravel中不同于模型名称的列的关系,php,laravel,foreign-keys,relational-database,Php,Laravel,Foreign Keys,Relational Database,我有两张表,分别是事件和组织。在一个组织中可能有多个事件。过去我不熟悉laravel,所以我创建了事件和组织模型。我在迁移事件表中添加了外键,如下所示 $table->bigInteger('organization_id')->unsigned()->default(null)->nullable(); 现在我无法将organization\u id更改为organization\u id,因为有很多行代码。我在Organizations.php模型中也做了如下操作
$table->bigInteger('organization_id')->unsigned()->default(null)->nullable();
现在我无法将organization\u id更改为organization\u id,因为有很多行代码。我在Organizations.php模型中也做了如下操作
public function events()
{
return $this->hasMany(Events::class);
}
public function organization()
{
return $this->belongsTo(Organizations::class);
}
同样在Events.php模型中
public function events()
{
return $this->hasMany(Events::class);
}
public function organization()
{
return $this->belongsTo(Organizations::class);
}
所以当我想将组织中的事件保存为
$organizations->events()->save($event); // $event is an object to be save in organization
然后它给出了一个例外
未找到列:“where子句”中的1054个未知列“events.organizations_id”(SQL:select*fromevents
whereevents
organizations_id
=3和events
organizations_id不为空)
我可以理解,我必须保持组织模型到组织,但目前这是不可能的。因此,是否有其他方法将其映射到组织id?是的,您可以提供表示关系的列名作为关系中的第二个参数: 在事件模型中:
public function organization()
{
return $this->belongsTo(Organizations::class,'organization_id');
}
有关更多详细信息,请参阅Laravel。是的,您可以,只需提供表示关系的列名作为关系中的第二个参数: 在事件模型中:
public function organization()
{
return $this->belongsTo(Organizations::class,'organization_id');
}
有关更多详细信息,请参见Laravel