[英]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.