مارک پلاس

تکنولوژی نوین اینترنتی

Tinker مدیریت پایگاه داده

دسته‌بندی‌ها

Tinker مدیریت پایگاه داده
Tinker مدیریت پایگاه داده

🎩 Laravel Tinker یه ابزار خط فرمان خیلی قدرتمنده که بهت اجازه می‌ده با استفاده از یک محیط تعاملی (REPL) به مدل‌ها، پایگاه داده، و دیگر بخش‌های اپلیکیشن دسترسی مستقیم پیدا کنی.

مخصوصاً برای:

  • تست سریع کوئری‌ها،

  • ساخت یا ویرایش رکوردها،

  • اجرای توابع مدل‌ها یا سرویس‌ها،

  • دیباگ کردن داده‌ها.


✅ فعال‌سازی Tinker

برای ورود به محیط Tinker:

bash
php artisan tinker

حالا می‌تونی کد PHP بنویسی و مستقیم اجراش کنی 😎


✅ مثال‌های کاربردی

🟢 ساخت یک رکورد جدید:

php
$user = new \App\Models\User; $user->name = 'Ali'; $user->email = 'ali@example.com'; $user->password = bcrypt('123456'); $user->save();

یا سریع‌تر:

php
\App\Models\User::create([ 'name' => 'Ali', 'email' => 'ali@example.com', 'password' => bcrypt('123456'), ]);

🟡 گرفتن اطلاعات:

php
\App\Models\User::all(); \App\Models\User::where('email', 'like', '%gmail.com')->get(); \App\Models\Post::find(1);

🔴 آپدیت رکورد:

php
$user = \App\Models\User::find(1); $user->name = 'Ali Updated'; $user->save();

⚫ حذف رکورد:

php
\App\Models\User::destroy(3);

🟣 استفاده از Relationships:

php
$post = \App\Models\Post::find(1); $post->comments; // همه‌ی کامنت‌های این پست

🧠 اجرای توابع دلخواه:

php
$user = \App\Models\User::first(); $user->sendWelcomeEmail();

اگه متدی داخل مدل نوشتی می‌تونی اینجا صداش بزنی.


✅ استفاده از Factory در Tinker

مثلاً برای ساخت ۵ کاربر تصادفی:

php
\App\Models\User::factory()->count(5)->create();

یا یک پست تستی:

php
\App\Models\Post::factory()->create(['user_id' => 1]);

✅ اجرای تابع دلخواه PHP

php
now(); Str::random(10); Hash::make('password');

🧪 نکته حرفه‌ای: اجرای کدها خارج از محیط تعاملی

می‌تونی کدهای Tinker رو مستقیم اجرا کنی:

bash
php artisan tinker --execute="\App\Models\User::count();"

🛠 خروج از Tinker

برای خروج کافیه بنویسی:

bash
exit

📦 جمع‌بندی

کاربردمثال
ساخت رکوردUser::create([...])
دریافت دادهUser::where(...)->get()
ویرایش$user->update([...])
حذفUser::destroy(id)
تست روابط$post->comments
ساخت داده تستیfactory()->create()

اگر خواستی یه جلسه تمرینی با Tinker برات طراحی کنم که مرحله به مرحله داده بسازی، بخونی، حذف و ویرایش کنی، فقط بگو ✨

محتوای مرتبط

پست‌های مرتبط