gpt4 book ai didi

php - Laravel 多态关系问题与 Camel Case

转载 作者:行者123 更新时间:2023-12-05 08:23:46 26 4
gpt4 key购买 nike

在我的多态关系中,Laravel 自动将我的 CamelCase id 转换为下划线。因此,当我尝试获取 $store->product 时,我收到 Column not found: 1054 Unknown column 'Products.location_id'。

我的关系是这样的。

Class Store() {
public function product() {
return $this->morphOne('App\Models\Product', 'locationId');
}
}

有没有办法不从 CamelCase 转换为下划线。

编辑看起来它实际上是在 locationId 的末尾添加“_id”。知道如何限制/阻止这种情况吗?

最佳答案

如果您不打算遵循标准命名结构,morphOne方法接受允许您覆盖它的附加参数。

public function morphOne($related, $name, $type = null, $id = null, $localKey = null)
{
$instance = new $related;

list($type, $id) = $this->getMorphs($name, $type, $id);

$table = $instance->getTable();

$localKey = $localKey ?: $this->getKeyName();

return new MorphOne($instance->newQuery(), $this, $table.'.'.$type, $table.'.'.$id, $localKey);
}

在不知道您的数据库结构的情况下,我只能告诉您第 4 个参数允许您覆盖 ID。这就是您放置 locationId 的地方。

关于php - Laravel 多态关系问题与 Camel Case,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34073999/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com