私は検証を行い、モデルを作成して保存する保存メソッドを持っています。後でsaveメソッドでモデルのIDにアクセスしようとしましたが、NULLです。保存後のLaravelモデルIDヌル(IDが増加しています)
スキーマ:
public function up()
{
Schema::create('posts', function (Blueprint $table) {
$table->increments('id');
$table->string('title');
$table->string('body');
//and other fields that aren't important right now
$table->timestamps();
});
}
保存方法:
IDは(符号なし整数をインクリメントするだけで自動)に設定されているMySQLではpublic function savePost(Request $request) {
$this->validate($request, [
//some validation happens here
]);
$post = new Post();
$title = $request->input('title');
$body = $request->input('body');
$post->title = $title;
$post->body = $body;
$post->save();
//I later try to access the $post->id here and it's still NULL.
var_dump($post->id);//NULL
}
- savePost方法があるの後に、それが設定されますように思えますコンプリート。
私は$post->save()
が完了した後、モデルのIDが設定されると思っていましたが、そうではないようです。私はsave()
と同じ方法でモデルのIDにアクセスできますか?それとも私はどこかでミスをしたことがありますか?ただ明確にする:(PKをインクリメントオート含む)モデルは、MySQLに格納されている、私はちょうど同じでモデルのidにアクセスすることはできませんよ
Laravelフレームワークのバージョンは5.3.26
編集です私がそれを保存する方法。
ありがとうございました@クリス、私はいくつかの頭を傷つけて保存! –
ありがとうございました、これは確かにヘッドスクラッチャーでした –