سلام دوستان
من یه کد eloquent دارم که ارور میده و نمیتونه ستون price رو پیدا کنه
$customers = Customer::with('orders')
->orderBy('price')
->groupBy('first_name')
->get(['id', 'first_name', 'last_name', DB::raw('SUM(orders.price) AS price',)]);
در اصل من eloquent این SQL رو میخوام
SELECT customers.first_name, SUM(orders.price) orders_price
FROM customers
INNER JOIN orders ON customers.id = orders.customer_id
GROUP BY first_name
ORDER BY orders_price DESC;
ولی کد eloquent ای که دارم این SQL رو بر میگردونه
select `id`, `first_name`, `last_name`, SUM(orders.price) AS price from `customers` group by `first_name` order by `price` asc
ممنون میشم کمکم کنید.
با سلام.
این کوئری که دارید کلا جوین داخلش نداره و خیلی از چیزی که میخواین دور هست :) اما پیشنهاد میکنم سرچ در گوگل و سایت های بخصوص خارجی فراموشتون نشه. همین فرایند های یادگیری و آزمون و خطایی که طی پروسه سرچ زدن ازش عبور میکنید واستون کلی اطلاعات جدید و دانش جدید بهمراه خواهد داشت.
با اینحال کوئری شمارو من نوشتم اما ممکنه کم و کاستی هایی داشته باشه چون جداولتون در دسترس من نیست.
return DB::table('customers')
->join('orders' , 'customers.id' , '=' , 'orders.customer_id')
->select('customers.first_name' , DB::raw('sum(comments.user_id) as orders_price'))
->groupBy('customers.first_name')
->orderByDesc('orders_price')
->get();
گرچه اینکار به نظر خودم کاملا اشتباهه و باعث جلوگیری از پیشرفت افراد میشه :) در واقع باید سعی کنیم به همدیگه ماهیگیری یاد بدیم نه اینکه فقط ماهی بگیریم ... ( اینکه کد آماده در اختیار افراد گذاشته بشه از نظر من قاتل استعداد و خلاقیت هست )
امیدوارم منظور من رو اشتباه متوجه نشید. فقط تجربه خودم رو در اختیارتون گذاشتم . با آرزوی پیشرفت شما 😎 موفق باشید
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟