Команда tinker
Команда tinker запускает интерактивную оболочку PsySH,
которая загружает всё окружение Laravel. В этой консоли
доступны все классы приложения, можно создавать объекты,
выполнять запросы к базе данных, тестировать методы и
проверять логику. Консоль поддерживает автодополнение
и историю команд. Для выхода из режима tinker используется
команда exit или сочетание клавиш Ctrl+C.
Синтаксис
php artisan tinker
Пример
Давайте выполним простые арифметические операции в консоли tinker:
php artisan tinker
>>> 5 + 3
=> 8
>>> 10 * 2
=> 20
Пример
Давайте создадим новую запись в базе данных с помощью модели Eloquent:
php artisan tinker
>>> use App\Models\User;
>>> $user = new User();
>>> $user->name = 'John Doe';
>>> $user->email = 'john@example.com';
>>> $user->password = bcrypt('password');
>>> $user->save();
=> true
Результат выполнения кода:
"true"
Пример
Давайте получим данные из базы данных
с помощью модели и метода first:
php artisan tinker
>>> use App\Models\User;
>>> $user = User::first();
>>> $user->name;
=> "John Doe"
>>> $user->email;
=> "john@example.com"
Результат выполнения кода:
"John Doe"
Пример
Давайте выполним коллекцию запросов с использованием методов Laravel:
php artisan tinker
>>> use App\Models\User;
>>> $users = User::where('id', '>', 2)->get();
>>> $users->pluck('name');
=> [
"Jane Smith",
"Bob Johnson"
]
>>> count($users);
=> 2
Результат выполнения кода:
[
"Jane Smith",
"Bob Johnson"
]
Пример
Давайте вызовем фасад DB для выполнения
сырого SQL-запроса:
php artisan tinker
>>> use Illuminate\Support\Facades\DB;
>>> $result = DB::select('SELECT * FROM users WHERE id > ?', [1]);
>>> $result[0]->name;
=> "John Doe"
Результат выполнения кода:
"John Doe"
Смотрите также
-
команда
serve,
которая запускает встроенный веб-сервер -
команда
migrate,
которая выполняет миграции базы данных -
команда
db:seed,
которая заполняет базу данных тестовыми данными -
команда
make:model,
которая создаёт новую модель Eloquent