Верьте или нет. Мне очень сложно понять это, я пытаюсь сохранить модель, и я продолжаю получать дубликат записи. У меня есть таблица с 2-мя колонны id
и data
, id
является не столбца автоматического приращения и является первичным ключом, вот моя модельСохраните модель в Laravel 5
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class TestResult extends Model {
/**
* The database table used by the model.
*
* @var string
*/
protected $table = 'results';
protected $fillable = ['id', 'data'];
protected $guarded = [];
public $incrementing = false;
public $timestamps = false;
}
Вот моего контроллер
public function postIndex() {
$id = ...
$result = new TestResult(['id' => $id]);
$result->results = Input::get("results");
$result->save();
return redirect()->action('[email protected]');
}
Я попытался просто о все, чтобы заставить это работать с 1 запросом, и я не мог. Я даже попытался построить свой собственный запрос с использованием объекта laravel DB
и имел ужасно неприятное время. На данный момент я начинаю развивать отношение к структуре, поскольку такая простая работа занимает очень много времени.
Единственное, что я могу получить для работы, - это установить $result->exists = true
, что требует 2 запросов, чтобы определить, так ли это или нет.
Может любой дайте мне знать, как я могу это сделать в одном запросе. Очень благодарен!
Ну ... если $ id является статическим и первичным ключом в базе данных, очевидно, что это будет дубликат, если я что-то не упустил. – Devon
@Devon id - это значение, которое я получаю от внешнего API, необходимо обновить запись, если она уже существует, jusst, как я думал, что метод 'save()' сделал. –