1
votes

pourquoi les horodatages col est nul

J'ai ajouté des horodatages cols dans la table DB,

    public $timestamps = true;

    protected $table = "allestates";

et je donne également true dans le modèle de la table.

public function up()
    {
        Schema::table('allestates', function (Blueprint $table) {
            $table->timestamps();
        });
    }

Mais toujours quand j'ajoute les nouveaux cols d'horodatage des données sont Null? Une idée pourquoi c'est comme ça? entrez la description de l'image ici


0 commentaires

4 Réponses :


0
votes

L'horodatage est nul, car vous n'utilisez peut-être pas laravel éloquent lorsque vous insérez des données.

$table->timestamp('created_at')->default(\DB::raw('CURRENT_TIMESTAMP'));
$table->timestamp('updated_at')->default(\DB::raw('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'));

Ou vous pouvez utiliser,

$model= new model;

$model->column_one= 'John';

$model->save();

p>


0 commentaires

0
votes

essayez ceci:

 public $timestamps = false;

// modèle

public function up()
    {
        Schema::table('allestates', function (Blueprint $table) {
             $table->created_at = $table->freshTimestamp();
        });
    }


0 commentaires

0
votes

Si votre horodatage n'utilise pas éloquent, cela ne fonctionnera pas, vous devrez peut-être définir manuellement les horodatages sur votre instruction d'insertion


0 commentaires

0
votes

vous pouvez faire comme ceci

         DB::table('user_languages')->updateOrInsert([
             'id' => //user_id goes here
             'created_at' => Carbon::now(),
             'updated_at' => Carbon::now()
         ]);


0 commentaires