سلام دوستان.
بنده فایل های یک فولدر رو به صورت زیر میگیرم اما وقتی میخوام که اون ها رو بر اساس اسمشون مرتب کنم اررور میده.
$videoStream =
collect(\Illuminate\Support\Facades\Storage::disk('public')
->allFiles('/v' . "/" . $video->title))
->sortBy(function ($file) {
return $file->getClientOriginalName();
});
اررور به صورت زیر هستش :
Facade\Ignition\Exceptions\ViewException
Call to a member function getClientOriginalName() on string
فایل های پوشه به صورت زیر هستش :
my_folder
----- 480.mp4
----- 720.mp4
----- 1080.mp4
وقتی که با تابع dd بدون انجام sort از آرایه خروجی میگیرم به صورت زیر هستش :
Collection {#266 ▼
#items: array:3 [▼
0 => "v/Intro Video/1080.mp4"
1 => "v/Intro Video/480.mp4"
2 => "v/Intro Video/720.mp4"
]
}
و چیزی که بنده میخوام شبیه زیر هستش :
Collection {#266 ▼
#items: array:3 [▼
0 => "v/Intro Video/1080.mp4"
1 => "v/Intro Video/720.mp4"
2 => "v/Intro Video/480.mp4"
]
}
درود
داخل کلوژر شما سعی میکنید متد getClientOriginalName رو از شئ که در متغیر file$ ذخیره شده، دریافت کنید.. اما مقدار موجود در این متغیر یه رشته است -> پس ارور دارید
به سبک استفاده صحیح از sortBy در مستندات لاراول سری بزنید
https://laravel.com/docs/6.x/collections#method-sortby
@ali.bayat
ممنون. مشکلی که هست اگر به نوع آرایه دقت کرده باشید عملا به صورت key و value نیستش ( فقط مقادیر به صورت اندیس ها برگشت داده شده).
توی داکیومنت سایت نوعی که تعریف کرده حتما باید یک key داشته باشه. برای مثال بگی که بر اساس کلید name اون ها رو مرتب کن.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟