Laravel:SQL更新当前时间

时间:2017-03-02 10:50:22

标签: php mysql laravel laravel-5 laravel-5.3

第一个Laravel项目。我有一个控制器,我上传一个图像并在mysql行中编辑两个单元格(img和当前时间)然后返回到ProductDetails页面。

public function uploadImage(Request $request, $id){
    $file = $request->file('image');
    //Display File Name
    echo 'File Name: '.$file->getClientOriginalName();
    echo '<br>';
    //Display File Extension
    echo 'File Extension: '.$file->getClientOriginalExtension();
    echo '<br>';
    //Display File Real Path
    echo 'File Real Path: '.$file->getRealPath();
    echo '<br>';
    //Display File Size
    echo 'File Size: '.$file->getSize();
    echo '<br>';
    //Display File Mime Type
    echo 'File Mime Type: '.$file->getMimeType();
    //Move Uploaded File
    $destinationPath = 'media/productimg';
    $file->move($destinationPath,$file->getClientOriginalName());
    $img=$file->getClientOriginalName();
    DB::update('update inventory set img = ? lastchange = ? where barcode = ?',[$img,CURRENT_TIME(),$id]);
    $product = DB::select('select * FROM inventory WHERE barcode = ?', [$id]);
    return view('productdetails',['product'=>$product]);
    }

我的问题是Laravel不理解&#34; CURRENT_TIME()&#34;

  

InventoryController.php第47行中的FatalThrowableError:调用未定义的函数App \ Http \ Controllers \ CURRENT_TIME()

我是否需要额外的依赖,或者Laravel有内置的方法? (我必须在几个地方使用它)

编辑: lastchange是DATETIME单元格

2 个答案:

答案 0 :(得分:4)

Laravel使用Carbon。 得到当前时间就这样做

导入命名空间:  use Carbon\Carbon;

创建变量: $now = Carbon::now();

现在您的查询应如下所示:

DB::update('update inventory set img = ? lastchange = ? where barcode = ?',[$img,$now,$id]);

答案 1 :(得分:1)

nicaolas的answer似乎是一个很好的解决方案,但另一种方法是使用mysql内部now()函数或它是alternatives

    yourlabel.layer.cornerRadius = 8 //your desire radius
    yourlabel.layer.masksToBounds = true