@Alimotreb @ali.bayat @khanzadimahdi
چرا از groupbyیراد میگیره
$channel = \App\DetailsModel::groupBy('link')->whereNotNull('name_channel')->take(5)->orderBy(DB::raw('RAND()'))->get();
, ارورش اینه
SQLSTATE[42000]: Syntax error or access violation: 1055 'curl.details.id' isn't in GROUP BY (SQL: select * from `details` where `name_channel` is not null group by `link` order by RAND() asc limit 5) (View: /home/netwons/PhpstormProjects/untitled1/resources/views/index.blade.php) (View: /home/netwons/PhpstormProjects/untitled1/resources/views/index.blade.php)
درود
به شکل زیر کوئری رو تغییر بده ببین فرقی میکنه:
$channelData = \App\DetailsModel::whereNotNull('name_channel')
->take(5)
->orderBy(DB::raw('RAND()'))
->get();
$channel = $channelData->groupBy('link');
@ali.bayat
این ارور رو میده
Property [name_channel] does not exist on this collection instance. (View:
در صورتی که name_channel موجود هست
کوئری رو به حالت قبلش برگردون.
فایل config/database.php رو باز کن
connection -> mysql
'strict' => false,
سری به پیج زیر در stackoverflow بزن
https://stackoverflow.com/questions/40917189/laravel-syntax-error-or-access-violation-1055-error
سلام. از (DB::raw('RAND()')) استفاده نکنید! کدشو به صورت زیر تغییر بدید
$channel = \App\DetailsModel::groupBy('link')->whereNotNull('name_channel')->take(5)->inRandomOrder()->get();
@khanzadimahdi @ali.bayat @Alimotreb
این ارور رو میده
SQLSTATE[42000]: Syntax error or access violation: 1055 'curl.details.id' isn't in GROUP BY (SQL: select * from `details` where `name_channel` is not null group by `link` order by RAND() limit 5) (View: /home/netwons/PhpstormProjects/untitled1/resources/views/index.blade.php) (View: /home/netwons/PhpstormProjects/untitled1/resources/views/index.blade.php)
حالت زیر رو تست کنید
$channel = \App\DetailsModel::select('link')->groupBy('link')->whereNotNull('name_channel')->take(5)->inRandomOrder()->get();
همچنین فایل config/database.php رو باز کن
connection -> mysql حالت strict رو false بزار
$channelData = \App\DetailsModel::whereNotNull('name_channel')
->groupBy('link')
->take(5)
->orderBy(DB::raw('RAND()'))
->get();
الان درسته اما خالی بودن name_channel اجرا نمیشه
و یک نکته ای من می خوام توی هر name_channel بیاد 5 تا لینک هم چاپ کنه
@khanzadimahdi
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟