我正在使用Lumen Framework,并且尝试从json文件播种数据库.我正在做这样的事情:
public function run()
{
$json = json_decode(file_get_contents('database/seed/file.json'), true);
...
}
但是当我执行种子命令php artisan db:seed时,出现此错误:
[ErrorException]
file_get_contents(database/seed/file.json): failed to open stream: No such file or directory
[Symfony\Component\Debug\Exception\FatalThrowableError]
Call to undefined function public_path()
有什么想法我做错了吗?
谢谢
解决方法:
使用__DIR__找出脚本路径
public function run()
{
dd(__DIR__);
}
对于此示例,可以说输出为/ home / vagrant / Code / app / Http / Controllers.
现在这应该可以工作(如果文件权限合适)
public function run()
{
$file_path = realpath(__DIR__ . '/../../database/seed/file.json');
$json = json_decode(file_get_contents($file_path), true);
// ...
}
标签:lumen,laravel,php
来源: https://codeday.me/bug/20191026/1940282.html