簡體   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