1-رفع خطای فلان فیلد Nullable نیست !!

کافیست در app/config/database مقدار strict رو برابر با false بگذارید.

 

2-جستجوی همه فن حریف در لاراول

برای جستو می توانید از Scout در لاراول استفاده کنید. اسکات یک میان برنامه است و برای کارکرد به یک موتور نیاز دارد. به صورت پیشفرض از Algolia استفاده می کند. ولی چون الگولیا به صورت اوت سورس است و شاید شما هم مثل من خوشتان نیاید که از منابع خارج از سرور استفاده کنید می توانید به راحتی بجای آن از موتورهای مختلف دیگری استفاده کنید. پیشنهاد میکنم TNTSearch رو امتحان کنید. این هم راهنمای استفاده ی کاملش.

 

3- استفاده از Helper در لاراول

تقریبا همونطور که از اسمش بر میاد قراره کمک های زیادی به ما بکنه. هلپر ها رو خودتون می تونید هرجا که خواستید بسازید فقط بعدش یادتون باشه که توی Composer.json معرفیشون کنید. به عنوان مثال می تونید به جای استفاده از Auth::user->username در لاراول یه هلپر درست کنید و توی تمام ویو هاتون از User()->username استفاده کنید.

"autoload": {
    "files" : ["app/Helpers/helper.php"]
},

اینم یه نمونه از کاربردهای هلپر برای ساده کردن معرفی کاربر همراه با یک جدول رابطه ای

function User(){
    // Summerise User Informaion Variables
    // Example :
    // Auth::user()->user_profiles->firstname
    // In User_profiles table
    // ==> User->name;  // Show Firstname Lastname or Username if empty names
    // or Users Tables
    // ==> User->users->id

    $User_info = Auth::user()->profile;

    if (empty($User_info->firstname) or empty($User_info->lastname)){
        $User_info->name = Auth::user()->username;
    }else{
        $User_info->name = $User_info->firstname.' '.$User_info->lastname;
    }
    return $User_info;
}

 

4- Eloquent های باهوش ولی نیازمند راهنمایی !

برای اینکه بین دو تا جدول یه رابطه درست برقرار بشه گاهی وقتها لازمه بزرگترها دخالت کنند. به عنوان مثال بین دو جدول Users و Users_profile که رابطه یک به یک بینشون برقراره فیلد مشترک Users.id و Users_profile.user_id اعه. برای اینکه توی الوکوئنت درست بهش حالی کنیم چی به چیه از این دستور استفاده می کنیم که المان اول اسم الوکوئنت جدول مرتبطه، المان دوم اسم پرایمر کی و المان سوم اسم کی در جدول مادره :

public function profile()
{
    return $this->hasOne('App\User_profile','user_id', 'id');
}

 

5- کار با فایلها در لاراول