当我尝试在变形关系中自定义多态类型时,如建议的那样,
你可以在你的启动功能中注册morphMap 如果您愿意,可以使用AppServiceProvider或创建单独的服务提供者。
我在AppServiceProvider寄存器函数中添加了morpMap函数(我没有在Lumen 5.3中找到使用的启动函数)。
class AppServiceProvider extends ServiceProvider
{
/**
* Register any application services.
*
* @return void
*/
public function register()
{
$propertyConfig = include ('../config/config_property.php');
Relation::morphMap($propertyConfig['property_morph_map']);
}
}
然后,当我尝试运行一些php artisan命令时,它抛出了这个错误,
[ErrorException]
include(../ config / config_property.php):无法打开流:没有这样的 文件或目录
但morphMap函数确实有效,这意味着当我在Homestead上运行此代码时,地址是正确的。
这是我的第一个Lumen项目,我仍然不熟悉服务提供商。寄存器功能如何影响工匠命令,这有点奇怪......
答案 0 :(得分:1)
您可以通过以下代码在bootstrap/app.php
中加载配置文件。
$app->configure('config_property')
要使用AppServiceProvider
中的配置文件,请使用configure()
。
这是代码。
Relation::morphMap(configure('config_property.property_morph_map'));