محمدرضا فلکی
3 سال پیش توسط محمدرضا فلکی مطرح شد
2 پاسخ

eloquent ستون price رو توی جدول orders پیدا نمیکنه

سلام دوستان
من یه کد 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

ممنون میشم کمکم کنید.


ثبت پرسش جدید
سبحان دادخواه
تخصص : دانشجوی برنامه نویسی :)
@SobhanDadkhah 3 سال پیش آپدیت شد
1

با سلام.
این کوئری که دارید کلا جوین داخلش نداره و خیلی از چیزی که میخواین دور هست :) اما پیشنهاد میکنم سرچ در گوگل و سایت های بخصوص خارجی فراموشتون نشه. همین فرایند های یادگیری و آزمون و خطایی که طی پروسه سرچ زدن ازش عبور میکنید واستون کلی اطلاعات جدید و دانش جدید بهمراه خواهد داشت.
با اینحال کوئری شمارو من نوشتم اما ممکنه کم و کاستی هایی داشته باشه چون جداولتون در دسترس من نیست.

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();

گرچه اینکار به نظر خودم کاملا اشتباهه و باعث جلوگیری از پیشرفت افراد میشه :) در واقع باید سعی کنیم به همدیگه ماهیگیری یاد بدیم نه اینکه فقط ماهی بگیریم ... ( اینکه کد آماده در اختیار افراد گذاشته بشه از نظر من قاتل استعداد و خلاقیت هست )
امیدوارم منظور من رو اشتباه متوجه نشید. فقط تجربه خودم رو در اختیارتون گذاشتم . با آرزوی پیشرفت شما 😎 موفق باشید


محمدرضا فلکی
تخصص : Learning Laravel
@m.reza6920 3 سال پیش مطرح شد
1

خیلی خیلی خیلی ممنون @SobhanDadkhah عزیز


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام