【发布时间】:2020-01-15 14:35:54
【问题描述】:
我想在数组中获取模型关系;
我的模型看起来像:
class User extends Model
{
public function profile() {
return $this->haOne(Profile::class);
}
public function settings() {
return $this->morphOne(Settings::class, 'settingsable');
}
public function addresses() {
return $this->hasMany(Addresses::class);
}
}
还有我的代码:
$user = User::with(['profile', 'settings', 'addresses'])->find(1);
$user->getRelations(); // return ['profile', 'settings', 'addresses'];
如果我有超过 10 个关系,我不想列出所有。
我想得到这样的:
$relations = ['profile', 'settings', 'addresses'];
这可能吗?
【问题讨论】:
-
您可能必须先加载它们:
User::with(['profile', 'settings', 'addresses'])->find(1);。虽然不确定最终目标是什么,除非您在运行时明确加载/调用它们,否则不包括关系。 -
是的,我找到了这个解决方案,但这是我最初的问题,我不想全部列出。
-
如果我理解你想要一个指定的关系列表,对吧?
-
我在模型中声明了函数,我想全部获取;