مهدی شریفی
4 سال پیش توسط مهدی شریفی مطرح شد
1 پاسخ

استفاده از laravel eloquent

سلام من از پکیج لاراول 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);

ثبت پرسش جدید
علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 4 سال پیش مطرح شد
1

وقتی شما داری از 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 رو ایمپورت کنی


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

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