繁体   English   中英

laravel5 中的日期数据类型更新

[英]Date datatype updation in laravel5

我正在更新从表单发布的数据。 其中一列是mysql中的数据时间数据类型。

除日期时间列外,所有数据都在更新。

我的代码如下

DB::table('CANDIDATE')
->where('CANDIDATEID',$ID)
->update(
        [
        'fname'=>$fname
        ,'mname'=>$mname
        ,'lname'=>$lname
        ,'genderid'=>$GENDERID
        ,'dob'=>$dob
        ,'address'=>$address
        ,'city'=>$city
        ,'pinno'=>$pinno
        ,'statesid'=>$STATESID
        ,'countryid'=>$COUNTRYID
        ,'contactno'=>$contactno
        ,'industryprtid'=>$INDUSTRYPRTID
        ,'cur_prof_titl'=>$cur_prof_titl
        ,'skills'=>$skills
        ,'certificate'=>$certificate
        ,'emp_typeid'=>$EMPTYPEID
        ,'experienceid'=>$EXPERIENCEID
        ,'educationid'=>$EDUCATIONID
        ,'edu_major'=>$edu_major
        ,'other_detail'=>$other_detail
        ,'mainobj'=>$mainobj
        ,'relocate'=>$relocate
        ,'sal_rngid'=>$sal_rngid
        ]

);

代码有什么问题。

当您使用 fluent builder 而不是使用 Eloquent 时,Laravel 不会设置时间戳。 所以你需要一个模型。

Fluent builder 不会设置时间戳

DB::table('CANDIDATE')
    ->where('CANDIDATEID', $ID)
    ->update(
    // ...

Eloquent 模型将:

<?php namespace App\Namespace;

use Illuminate\Database\Eloquent\Model;

class Candidate extends Model
{
    // Model foo here
}

然后使用:

App\Namespace\Candidate::where('CANDIDATEID, $ID)
    ->update(
    // ...

鉴于您的表中确实有默认的 laravel 时间戳列可用。 (created_at,updated_at)。


无关,但值得一提:

如果/当可能的话,请检查您的命名规则,这将是更容易遵循表和列名的Laravel命名约定(如使用candidates作为表名和candidate_id列名。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM