پیش به سوی تابستان؛ با تخفیفهای داغ راکت!
بزن بریم!سلام دوستان
من در پروژم مجبورم از روابط استفاده کنم
در روابط چند به به چند واقعا گیج شدم از نحوه استفاده کردن و وارد کردن دیتا و ....
اومدم به طور مثال خودم روابط چند به چند رو با اضافه کردن تیبلی به صورت مثلا
article_offer
خودم هندلش کردم.
اشکالی ایجاد نمیشه به جای استفاه از روابط لاراول خودمون دستی هندلش کنیم؟
سلام
از توابع لاراول استفاده کنین حتما که خوانایی کد بالا بره و تعداد خطوط کدنویسی کم بشه
روابط در لاراول بسیار راحته
یه مثال میزنم برات
فرضا یه جدول users داری و یه جدول userprofiles
خب 2 تا مدل داری به اسم user و userprofile
حالا چون هر کاربر میتونه یک پروفایل داشته باشه به صورت زیر باید متدها را در مدلها استفاده کنی
مدل user
<?php
namespace App;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
class User extends Authenticatable
{
use Notifiable;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name', 'email', 'password',
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
/**
* The attributes that should be cast to native types.
*
* @var array
*/
protected $casts = [
'email_verified_at' => 'datetime',
];
public function userProfile(){
return $this->hasOne(user_profile::class);
}
}
توی کد بالا در متد userprofile نوشتم که به هر کاربر یک پروفایل دارد (با کلمه hasOne)
و توی ورودیش نام مدل userprofile را صدا زدم
حالا مدل userprofile اینطوری میشه
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class user_profile extends Model
{
public $timestamps = false;
protected $fillable = ['user_id'];
public function user()
{
return $this->belongsTo(user::class);
}
}
خب اینجا اومدم و یه متد ساختم به اسم user و داخلش گفتم با کلمه کلیدی belongsTo یعنی این متعلق به مدل user هست
حالا اینجوری مقادیر جدول userprofile را صدا میزنم
auth()->user()->userProfile
مشکل که ایجاد نمیشه اگر درست کد بزنی ولی واقعاااااااااااااا لا توابع خود لاراول یاد بگیر بنویس
چون اصولی تر هست و میزان باگ به کمترین حد ممکن میرسه
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟