راکت
حل شده

استفاده از laravel eloquent

1 پاسخ

سلام من از پکیج لاراول eloquent بیرون لاروال استفاده کردم و کانکشن دیتابیس رو به شکل زیر تعریف کردم

$capsule = new Capsule();

$capsule->addConnection([
    'driver'    => DATABASE_DRIVER,
    'host'      => DATABASE_HOST,
    'database'  => DATABASE_NAME,
    'username'  => DATABASE_USERNAME,
    'password'  => DATABASE_PASSWORD,
    'charset'   => DATABASE_CHARSET,
    'collation' => DATABASE_COLLECTION,
    'prefix'    => DATABASE_PREFIX,
]);

حالا اگه خودم بخوام یه sql بنویسم باید به کانکشن دسترسی داشته باشم در حال حاضر یه کانکشن جدا برای این نوشتم راهی داره با همین capsule هندل شه ؟؟؟ @mohsenbostan @ali.bayat @hesammousavi

$connection = new mysqli(DATABASE_HOST, DATABASE_USERNAME, DATABASE_PASSWORD, DATABASE_NAME);
ثبت پرسش جدید

پاسخ‌ها

1
علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

بهترین پاسخ

وقتی شما داری از Eloquent استفاده میکنی
دیگه نباید به این شکل با دیتابیس کارکنی

ابتدا کپسول رو Instantite میکنی:


require "vendor/autoload.php";
use Illuminate\Database\Capsule\Manager as Capsule;

$capsule = new Capsule;

$capsule->addConnection([
   "driver" => "mysql",
   "host" =>"127.0.0.1",
   "database" => "acl",
   "username" => "root",
   "password" => ""
]);

$capsule->setAsGlobal();
$capsule->bootEloquent();

و بعد به شکل زیر ازش استفاده میکنی:

$users = Capsule::table('users')->get();

و در قدم بعدی میتونی یه Model بسازی و مثل لاراول ازش استفاده کنی:

class User extends Illuminate\Database\Eloquent\Model {
    // code goes here
}

$users = User::all();

اگر هم خواستی از مایگریشن ها استفاده کنی باید کلاس Illuminate\Database\Capsule\Manager رو ایمپورت کنی

شاید پاسخ شما همین‌جا باشد

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام