PDA

View Full Version : اتصال دیتابیس ساخته شده به لاراول



yashilmarket
شنبه 16 دی 1396, 12:45 عصر
من پروژه ی خودمو ساختم
الان میخوام توی لاراول واردش کنم
فقط مشکلم اینه که database که قبلا ساختمو چطور به لاراول بشناسونم؟؟

yashilmarket
شنبه 16 دی 1396, 14:53 عصر
میشه یکی راهنماییم کنه؟؟
شاید سوالم کامل نبود متوجه نشدین

plague
شنبه 16 دی 1396, 16:57 عصر
سوالت واضح نیست
میخام تو لاراول واردش کنم یعنی چی ؟ با چی نوشتی پروژت رو که الان میخای تو لاراول وارد کنی ؟

yashilmarket
یک شنبه 17 دی 1396, 08:14 صبح
بدون فریم ورک نوشتم
الان میخوام با فریم ورک لاراول بنویسم
نمیخوام از اول دیتابیس رو با لاراول بنویسم
مبخوام وصل شه به دیتابیسی که از قبل توی phpmyadmin درست کردم وصل شه ولی نمیدونم کجا باید
آدرس connection رو بدم تا اطلاعات رو بخونه یا وارد دیتابیس کنه...
من حتی فایل .env رو تغییر دادم و مشخصات db رو وارد کردم ولی تغییری نکرد

plague
یک شنبه 17 دی 1396, 10:14 صبح
تو همون .env هستش
اگه از eloquent استفاده میکنی برا خوندن و نوشتن در دیتابیس باید به ازای هر تیبل به model بسازی

yashilmarket
یک شنبه 17 دی 1396, 11:07 صبح
اینو دیگه نباید تغییری بدم؟؟
config/database.php

yashilmarket
یک شنبه 17 دی 1396, 11:26 صبح
خواستم مدل بسازم ولی این پیغام رو داد داخل shell

php artisan make:model customrs


In Application.php line 1171:


Unable to detect application namespace.

plague
یک شنبه 17 دی 1396, 13:59 عصر
اینو دیگه نباید تغییری بدم؟؟
config/database.php



نه اون برا تنظیمات نوع دیتابیس و نوع انجین و .... هستش , کانکشن همون تو env هستش



خواستم مدل بسازم ولی این پیغام رو داد داخل shell

php artisan make:model customrs


In Application.php line 1171:


Unable to detect application namespace


به نظر میاد composer.js رو خراب کردی حالا یا مستقیم یا غیر مستقیم یا پاک کردی چیزی رو یا کامای اضافه ای چیزی گزاشتی توش
چک کن این تیکه باشه توش


"psr-4": {
"App\\": "app/"
}

وگرنه اررور رو سرچ کن تو اینترنت ببین چیا ممکنه همچین ارروری ایجاد کنن

yashilmarket
یک شنبه 17 دی 1396, 15:21 عصر
ممنون دوست عزیز
بجای ,
و
گذاشته بودم...
دوستانی که به همین مشکل برخورد کردن
باید دقت کنن که وقتی


"laravelcollective/html": "~5.0"

اضافه می کنن
کرکتر اشتباه وارد نکنن

yashilmarket
یک شنبه 17 دی 1396, 15:25 عصر
فقط یه سوال
الان من برای هر table
یه


php artisan make:model sth

بسازم؟؟

plague
یک شنبه 17 دی 1396, 18:17 عصر
مجبور نیستی اگه میخای از query builder آستفاده کنی
ولی اگه میخای از eloquent استفاده کنی باید به ازای هر تیبل یدونه بسازی که مهمترین مزیتش قابلیت استفاده از relation هاست
مثلا فرض کن شما یه تیبل user داری و 3-4 تا تیبل دیگه که به user وصل هستن از طریق کلید خارجی مثلا Pictures , Videos , .....
اگه برا همشون مدل ساخته باشی و رابطه تعریف کرده باشی کافیه یدونه کوئری بزنی و یوزر رو از دیتبایس بخونی برا بقیه دیگه نمیخاد کوئری بنویسی میتونی بزنی
$user->Video
خود لاراول کوئری لازم رو اجرا میکنه مثلا select * from Videos where user_id = $user->id

همچنین برا ساخت مدل میتونی از فلگ -m استفاده کنی تا برات میگریشن رو هم بسازه
میگریشن برا ساخت تیبل هست که بجای اینکه شما مستقیم بری تو phpmyadmin تیبل بسازی کد مینویسی تو Migration بعد لاراول وصل میشه به دیتبایس و تیبل رو طبق کدی که نوشتی میسازه

yashilmarket
دوشنبه 18 دی 1396, 09:06 صبح
ممنون دوست عزیز

maarek
دوشنبه 18 دی 1396, 09:25 صبح
یه مورد دیگه هم هست که دوستان اشاره نکردن شما وقتی برای هر تیبل یه مدل میسازی برای اینکه مدل و به تیبل معرفی کنی باید باید یه متغیر به اسم table براش تعریف کنی.

public $table = "table_name";

plague
دوشنبه 18 دی 1396, 11:37 صبح
یه مورد دیگه هم هست که دوستان اشاره نکردن شما وقتی برای هر تیبل یه مدل میسازی برای اینکه مدل و به تیبل معرفی کنی باید باید یه متغیر به اسم table براش تعریف کنی.

public $table = "table_name";

بستگی داره به اسم تیبل و مدل
اگه اسم مدل مفرد اسم تیبل باشه نیاز نداره که اینکار رو بکنی لاراول خودش متوجه میشه
مثلا اسم مدل رو میزاری video و اسم تیبل videos

اگه مدل و میگریشن رو با هم بسازی
artisan make:model Video - m
و بعد با میگریشن تیبل رو بسازی خودش اسم ها رو به شکل مناسبی در میاره که نیاز نباشه اسم تیبل رو توی مدل معرفی کنی (به طور خلاصه اسم تیبل رو حالت جمع اسم مدل میزاره )

ebibombas1988
دوشنبه 18 دی 1396, 18:56 عصر
کار استانداردی نیست کلا
من یه بار این کار کردم ارور میداد که create-ime و update-time هم ایجاد کن
چون migration ها خودشون این دو فیلد اضافه می کنند ولی جدول شما معلوم نیست این دو فیلد داشته باشه
حالا رفع این مشکلی که واسم به وجود اومد کاری نداشت ولی منظورم این که یه کار وصله پینه ای میشه

maarek
دوشنبه 18 دی 1396, 22:35 عصر
درسته ولی تو این مورد دوستمون از یه دیتابیس استفاده کرده که از قبل آماده هست..