Laravel 5.1:从firstOrNew方法获取ID

时间:2015-11-27 08:39:40

标签: php laravel laravel-5

我有以下功能,如果一个新记录已经存在,它会在数据库中创建一个新记录 - 如果存在,则更新它。问题是它返回true因此我无法获得插入或更新记录的ID。

/**
 * Save timesheet.
 *
 * @param $token
 * @param $data
 */
public function saveTimesheet($token, $data) 
{
    return $this->timesheet->firstOrNew($token)->fill($data)->save();
}

1 个答案:

答案 0 :(得分:5)

首先创建新模型然后保存,id将自动设置在模型中。

/**
 * Save timesheet.
 *
 * @param $token
 * @param $data
 */
public function saveTimesheet($token, $data) 
{
    // Set the data
    $model = $this->timesheet->firstOrNew($token)->fill($data);

    // Save the model
    $model->save();

    // Return the id
    return $model->id;
}