我正在转换 Laravel (5.3) 应用程序以使用 AWS S3 作为图像存储。我需要以编程方式获取名称符合特定掩码(例如“FS_1054_*.JPG”)的图像列表,当我使用本地存储时,我可以使用 glob() 函数轻松完成。
关于我如何用 S3 做到这一点的任何建议?
我有这个雄辩的查询:
$users = User::query()
->addSelect([
'latest_login' => Login::select('login_time')
->where('logins.user_id', 'users.id')
->latest('login_time')
->take(1)
])
->orderBy('latest_login', 'DESC')
->get();
Run Code Online (Sandbox Code Playgroud)
问题是“latest_login”字段始终为空。
但是,如果我在 mysql 中运行查询,该字段将被完全填充:
'SELECT `users`.*, (SELECT `login_time` FROM `logins` WHERE `user_id` = users.id AND `login_time` IS NOT NULL ORDER BY `login_time` DESC LIMIT 1) AS `last_login` FROM `users` WHERE `logged_in` > 0 ORDER BY `last_login` DESC
Run Code Online (Sandbox Code Playgroud)
我还尝试使用 DB::select() 在 Laravel 中运行原始查询,并且该字段也返回 null。
有什么想法吗?