برنامه نویس #لاراول / هکر شیطون / که گاهی هم از تجربیاتش می نویسه !
آموزش استفاده از دستور rawValue در لاراول
سلام دوستان من علیرضا احمدی هستم بیش از ۱۰ سال هست که در زمینه برنامه نویسی php فعالیت میکنم و معمولا هر چند وقت یکبار که فرصت میکنم تجربیات خودم رو در خصوص برنامه نویسی باز نشر میکنم
و حدودا ۴ سال پیش بود که جامعه توسعه دهندگان لاراول رو هم در ویرگول ایجاد کردم
و شروع کردم به اشتراک گذاری تجربیات خودم و به مرور افراد زیادی در این راه بهم کمک کردند تا این که امروز کلی مطب در حوزه لاراول در ویرگول بازنشر کردیم
و امروز جامعه توسعه دهندگان لاراول بیش از ۶۰۰ دنبال کننده دارد و صد ها نفر آموزش های خودشون رو بازنشر میکنند
بعد از این کانال البته کانال تلگرام دورهمی برنامه نویسان رو هم در تلگرام ایجاد کردم :
https://t.me/irdev2
و خوب گروه تلگرامی مون هم امروز نزدیک به ۷۰۰ عضو دارد و برنامه نویسان حوزه های مختلف در آن حضور دارند
شروع مون از اشتباهات رایج طراحی دیتابیس بود :
یکی از بهترین آموزش هایی که ۳ سال پیش ایجاد کردم (اشتباهات رایج طراحی دیتابیس بود)
و استقبال خیلی خوبی شد و خوب مدتی نرسیدم که واقعا ادامه بدهم تا امروز که واقعا باز هم دوست دارم در حوزه لاراول آموزش های بیشتری رو منتشر کنم
آموزش استفاده از دستور rawValue در لاراول:
اما بریم سراغ آموزش استفاده از دستور rawValue : قبل از نسخه 9.36.4 که این دستور وجود نداشت وقتی میخواستیم مثلا نام و ایمیل یک کاربر رو خروجی بگیریم از یه همچین کدی استفاده میکردیم :
User::query()
->select(DB::raw('CONCAT(`name`, " ", `email`) AS name'))
->where('id', 1)
->get();
اما توی نسخه 9.36.4 یه متد جدید به الکوئنت اضافه شد به نام rawValue که میشه همین کد فوق رو ساده تر کرد
User::query()
->where('id', 1)
->rawValue('CONCAT(`name`, " ", `email`)');
دستورCONCAT یک تابع mysql است که به کمک اون در واقع من دارم نام و ایمیل کاربر رو به هم دیگه می چسبانم و خوب به جای CONCAT میشه خیلی دستورات دیگه هم استفاده کرد
توی جزئیات این بروز رسانی v9.36.4 - 2022-10-20 :
موارد زیر هم اضافه شده است که rawValue یکی از ویژگی هایی بود که من اون رو دوست داشتم
- Added rawValue to Database Query Builder (and Eloquent as wrapper) (#44631)
- Added TransactionCommitting (#44608)
- Added dontIncludeSource to CliDumper and HtmlDumper (#44623)
- Added Illuminate/Filesystem/FilesystemAdapter::checksum() (#44660)
- Added handlers for silently discarded and missing attribute violations (#44664)
توضیحات دقیق تغییرات انجام شده رو میتونید در لینک :
https://github.com/laravel/framework/blob/9.x/CHANGELOG.md
مشاهده کنید ولی من برام rawValue جذاب بود به خاطر همین در موردش یک ویدیو هم تولید کردم و از یک زاویه دیگه هم این موضوع رو بررسی کردم
لینک ویدیو این قسمت در اپارات :
https://www.aparat.com/v/0xFJi?playlist=1843831
مشاهده ویدیو :
و خوشحال میشم اگر هر نظر و یا پیشنهادی داشتید باهام به اشتراک بگذارید
تا یک آموزش دیگر براتون بهترین ها رو آرزو میکنم .
مطلبی دیگر از این انتشارات
مدیریت بهتر Database Transactions در لاراول ۸
مطلبی دیگر از این انتشارات
وبسایت ، API و دیتابیس چند زبانه در لاراول (2)
مطلبی دیگر از این انتشارات
اعلام حمایت سپیدار گیفت از دورهمی لاراول