summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Roach <greg@subaqua.co.uk>2025-02-23 23:23:35 +0000
committerGreg Roach <greg@subaqua.co.uk>2025-02-23 23:29:09 +0000
commit4bfa5dcdfc93efa1b649ec1cda6a969a4a4f0190 (patch)
treef87906d08e46e339adc9c687fbb3c9455edbf284
parente0538ffc67674cbbbc260472873fce2f8f8c1937 (diff)
downloadwebtrees-4bfa5dcdfc93efa1b649ec1cda6a969a4a4f0190.tar.gz
webtrees-4bfa5dcdfc93efa1b649ec1cda6a969a4a4f0190.tar.bz2
webtrees-4bfa5dcdfc93efa1b649ec1cda6a969a4a4f0190.zip
Fix: #5114 - select expressions containing || aren't handled properly by the PHP/PDO mysql driver
-rw-r--r--app/Services/MediaFileService.php3
1 files changed, 2 insertions, 1 deletions
diff --git a/app/Services/MediaFileService.php b/app/Services/MediaFileService.php
index 757fd50e7e..0b665a9ae8 100644
--- a/app/Services/MediaFileService.php
+++ b/app/Services/MediaFileService.php
@@ -319,6 +319,7 @@ class MediaFileService
*/
public function allMediaFolders(FilesystemOperator $data_filesystem): Collection
{
+ /** Issue #5114 - columns containing '||' get a trailing space added by MySQL. The alias is a workaround */
$db_folders = DB::table('media_file')
->leftJoin('gedcom_setting', static function (JoinClause $join): void {
$join
@@ -327,7 +328,7 @@ class MediaFileService
})
->where('multimedia_file_refn', 'NOT LIKE', 'http://%')
->where('multimedia_file_refn', 'NOT LIKE', 'https://%')
- ->pluck(new Expression("COALESCE(setting_value, 'media/') || multimedia_file_refn"))
+ ->pluck(new Expression("COALESCE(setting_value, 'media/') || multimedia_file_refn AS value"))
->map(static fn (string $path): string => dirname($path) . '/');
$media_roots = DB::table('gedcom')