Введение
При работе с Laravel и его мощным ORM Eloquent вам часто необходимо заполнить базу данных образцами данных. Одним из важных аспектов записей базы данных являются временные метки, которые отслеживают время создания и изменения ваших данных. В этой статье блога мы рассмотрим различные методы установки значений временных меток при заполнении в Laravel Eloquent, сопровождаемые примерами кода. Давайте погрузимся!
Метод 1: использование метода create
с временными метками
Самый простой способ установить временные метки при заполнении данных — использовать метод create
, предоставляемый моделями Eloquent. Этот метод позволяет создать новую запись с автоматической установкой временных меток.
use App\Models\User;
User::create([
'name' => 'John Doe',
'email' => 'johndoe@example.com',
]);
Метод 2: установка временных меток вручную
Если вам нужен больший контроль над временными метками, вы можете установить их вручную с помощью метода update
после создания записи. Этот подход полезен, если вы хотите указать конкретное время для полей созданных_at и обновленных_at.
use App\Models\User;
use Carbon\Carbon;
$user = User::create([
'name' => 'Jane Doe',
'email' => 'janedoe@example.com',
]);
$user->update([
'created_at' => Carbon::now(),
'updated_at' => Carbon::now(),
]);
Метод 3. Отключение временных меток
Возможны ситуации, когда вы не хотите устанавливать временные метки для определенных раздающих. В таких случаях вы можете отключить временные метки, используя свойство timestamps
модели Eloquent.
use App\Models\Product;
class ProductSeeder extends Seeder
{
public function run()
{
Product::withoutTimestamps()->create([
'name' => 'Sample Product',
'price' => 19.99,
]);
}
}
Метод 4. Пользовательские форматы временных меток
По умолчанию Laravel использует формат Y-m-d H:i:s
для временных меток. Однако вы можете настроить формат, переопределив метод getDateFormat
в вашей модели.
use Illuminate\Database\Eloquent\Model;
class MyModel extends Model
{
public function getDateFormat()
{
return 'U'; // Unix timestamp format
}
}
Заключение
Установка временных меток при заполнении данных в Laravel Eloquent — простой процесс. В этой статье мы рассмотрели различные методы достижения этой цели, в том числе использование метода create
, ручную настройку временных меток, отключение временных меток и настройку форматов временных меток. Освоив эти методы, вы сможете эффективно управлять временными метками в операциях заполнения базы данных. Приятного кодирования!