bangla - বাংলায় php laravel framework পর্ব 2




লারাভেল অজানা কলাম 'আপডেট_আট' (3)

আমি সবেমাত্র লারাভেল দিয়ে শুরু করেছি এবং আমি নিম্নলিখিত ত্রুটিটি পেয়েছি:

অজানা কলাম 'আপডেটড্যাট' জিব্রুয়ার্সে প্রবেশ করান (নাম, ওয়াচওয়ার্ড, আপডেট_এটি, তৈরি_এটি)

আমি জানি যে ত্রুটিটি টাইমস্ট্যাম্প কলাম থেকে যখন আপনি কোনও টেবিলটি স্থানান্তর করেন তবে আমি updated_at ফিল্ডটি ব্যবহার করছি না। লারাভেল টিউটোরিয়ালটি অনুসরণ করার সময় আমি এটি ব্যবহার করতাম তবে এখন আমি নিজের জিনিসগুলি (বা তৈরির চেষ্টা) করছি। আমি টাইমস্ট্যাম্প ব্যবহার না করেও আমি এই ত্রুটিটি পেয়েছি। এটি যে জায়গাতে ব্যবহৃত হচ্ছে তা আমি খুঁজে পাচ্ছি না। এই কোড:

নিয়ামক

public function created()
{
    if (!User::isValidRegister(Input::all())) {
        return Redirect::back()->withInput()->withErrors(User::$errors);
    }

    // Register the new user or whatever.
    $user = new User;
    $user->naam = Input::get('naam');
    $user->wachtwoord = Hash::make(Input::get('password'));
    $user->save();

    return Redirect::to('/users');
}

রুট

Route::get('created', '[email protected]');

মডেল

public static $rules_register = [
    'naam' => 'unique:gebruikers,naam'
];

public static $errors;
protected $table = 'gebruikers';

public static function isValidRegister($data)
{
    $validation = Validator::make($data, static::$rules_register);

    if ($validation->passes()) {
        return true;
    }

    static::$errors = $validation->messages();

    return false;
}

আমি অবশ্যই কিছু ভুলে যাচ্ছি ... এখানে আমি কী ভুল করছি?


অ্যালেক্স এবং সমীরের উত্তম উত্তর, তবে কেন প্রয়োজন হবে তা সম্পর্কে কেবল অতিরিক্ত তথ্য

public $timestamps = false;

টাইমস্ট্যাম্পগুলি সরকারী লারাভেল পৃষ্ঠায় সুন্দরভাবে ব্যাখ্যা করা হয়েছে:

ডিফল্টরূপে, স্পষ্টত আপনার> টেবিলগুলিতে তৈরি_আট এবং আপডেট_এ্যাট কলামগুলি উপস্থিত থাকার প্রত্যাশা করে। আপনি যদি এই কলামগুলি স্বয়ংক্রিয়ভাবে> স্পষ্টতাই পরিচালিত করতে না চান তবে আপনার মডেলটিতে $ টাইমস্ট্যাম্পস সম্পত্তিটিকে মিথ্যাতে সেট করুন।


মডেলটিতে, নীচের কোডটি লিখুন;

public $timestamps = false;

এটি কাজ করবে।


যারা 5 বা তদূর্ধের ল্যারাভেল ব্যবহার করছেন তাদের অবশ্যই অন্যান্য বুদ্ধিমান পাবলিক মডিফায়ার ব্যবহার করতে হবে এটি একটি ব্যতিক্রম ছুঁড়ে দেবে

Access level to App\yourModelName::$timestamps must be
public (as in class Illuminate\Database\Eloquent\Model)

public $timestamps = false;