recherche

Maison  >  Questions et réponses  >  le corps du texte

Framework PHP Laravel Eloquent ORM données d'insertion par lots, heure de création 00000000000

foreach ($products as $v=>$a)
{
    $count[] = array('product_name' => $a['name'], 'product_weight' => $a['weight'], 'product_id' => $a['pid'], 'product_price' => $a['price'], 'order_id' => $order->id, 'card_phone' => $user->phone);
}
CountOrder::insert($count);

Lorsque vous utilisez Laravel pour insérer des données par lots,

L'heure de création des données insérées est de 0000000 ;

Comment enregistrer normalement les champs d'heure de création et d'heure de mise à jour ? Doivent-ils également être écrits dans le tableau ?

大家讲道理大家讲道理2780 Il y a quelques jours784

répondre à tous(3)je répondrai

  • 黄舟

    黄舟2017-05-16 16:57:45

    把updated_at字段属性改成下面这样,
    `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    
    当然`created_at`是要自己赋值的,不然就会插入默认值0000-00-00 00:00:00
    

    répondre
    0
  • 高洛峰

    高洛峰2017-05-16 16:57:45

    En fait, vous pouvez utiliser save()

    $this->fill($count)->save();
    

    Ma colonne tutoriel Laravel : /u/biaoyansu/blogs

    répondre
    0
  • 大家讲道理

    大家讲道理2017-05-16 16:57:45

    Laravel maintient Created_at Update_at par défaut et doit être déclaré dans le modèle public $timestamps = false ; la valeur par défaut est true ;

    class Student extends Model
    {
        protected $table = 'student';//指定表名
        //protected $primaryKey = 'id';//id
        //自动维护时间戳 默认是true;
        //public $timestamps = false;
    
        protected function getDateFormat()
        {
            return time();//return当前时间戳
            //输出的时候已经帮我们格式化了不想格式化需加函数asDateTime()
        }
    
       /* protected function asDateTime($val)
        {
            return $val;//将$val  return回去 不做任何处理就不会格式化了
        }*/
    }

    répondre
    0
  • Annulerrépondre