Используйте insertGetId()
вместо insert()
, а затем find()
модель. Например:
$id = DB::table('users')->insertGetId(['name' => 'Ivanka', 'email' => 'ivanka@ivanka.com']);
$user = User::find($id);
Когда вы обновляете, у вас есть id
, поэтому просто find()
это: User::find($id)
.
Документация, объясняющая, как работает insertGetId()
: https://laravel.com/docs/5.7/queries#inserts
Выполнение:
M-x sql-rename-buffer
На связанном *SQL*
буфер переименует текущий буфер после текущего соединения. Так:
*SQL*
Становится:
*SQL user/database*
Можно затем сделать:
M-x sql-mysql
Или независимо от того, что Ваша разновидность DB должна создать другой буфер SQL.
Как небольшое упрощение, можно просто сделать:
(add-hook 'sql-interactive-mode-hook 'sql-rename-buffer)
(Т.е. Вам не нужно lambda
).
Кроме того, если кому-то как я нравится другое представление соединения, здесь является моим. Это - то, как мои буферы sql назвали: "driver://user@server/database"
(defun sql-make-alternate-buffer-name ()
(concat (concat (prin1-to-string sql-interactive-product) "://")
(if (string= "" sql-user)
(if (string= "" (user-login-name))
()
(concat (user-login-name) "/"))
(concat sql-user "@"))
(concat sql-server "/")
(if (string= "" sql-database)
(if (string= "" sql-server)
(system-name)
sql-server)
sql-database)))
Буферы SQL создали в sql-интерактивном-режиме, который выполняет sql-interactive-mode-hook, таким образом, нет никакой потребности выполнить sql-rename-buffer вручную
(add-hook 'sql-interactive-mode-hook
(lambda () (sql-rename-buffer)))