Как подключиться к mysql с laravel?
Это простой простой вопрос. Я не думаю, что многие спрашивают об этом, но просто как подключиться к mySql через localhost phpmyadmin с laravel (я искал, есть кое-что, но мне нужно спросить, потому что я нуб, и я хотел бы спросить, что я видел, я не совсем получаю 100%, или я пробовал, и это не помогло)?
Я работаю с backbone.js и совершенно новый для laravel, я установил laravel внутри C:\wamp\www\laravel-project
Я пытался
c:\wamp\www\laravel-project> php artisan migrate:make create_tasks_table --table tasks --create
А также
c:\wamp\www\laravel-project> php artisan migrate
Я ожидаю, что должен определить информацию о базе данных, я проверил C:\wamp\www\laravel-project\app\config\database.php
и выглядит корректно, mySQL установлен в root
по умолчанию, являющемся именем пользователя, и ' пустое является паролем.
Ошибка в командной строке, которую я получаю после запуска php artisan migrate
- это
[PDOException]
SQLSTATE[HY000] [1049] Unknown database 'database'
Я использую Windows 8, а для моего локального сервера - wamp, это, конечно, включает phpmyadmin и mySql. Поэтому я уверен, что есть много способов использовать mySql, но я не думаю, что правильно настраиваю laravel и phpmyadmin.
Таким образом, любое понимание было бы удивительным, легким.
РЕДАКТИРОВАТЬ:
На самом деле, думая об этом, возможно, мне нужно создать базу данных с именем database
я попробую это. скоро вернусь. Хорошо, я отвечу на вопрос или кто-то может, на всякий случай кто-то ищет эту тему... это KEY, чтобы убедиться, что база данных, определенная в C:\wamp\www\laravel-project\app\config\database.php
соответствует база данных, которая существует внутри вашего phpmyadmin. Нет проблем!
Ответы
Ответ 1
Laravel упрощает управление соединениями с базой данных с помощью app/config/database.php
.
Как вы отметили, он ищет базу данных под названием "база данных". Причина в том, что это имя по умолчанию в файле конфигурации базы данных.
'mysql' => array(
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'database', <------ Default name for database
'username' => 'root',
'password' => '',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
Измените это имя базы данных, к которой вы хотите подключиться, например:
'mysql' => array(
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'my_awesome_data', <------ change name for database
'username' => 'root', <------ remember credentials
'password' => '',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
После правильной настройки вы сможете легко получить доступ к своей базе данных!
Счастливое кодирование!
Ответ 2
В Laravel 5 есть файл .env
,
Это выглядит как
APP_ENV=local
APP_DEBUG=true
APP_KEY=YOUR_API_KEY
DB_HOST=YOUR_HOST
DB_DATABASE=YOUR_DATABASE
DB_USERNAME=YOUR_USERNAME
DB_PASSWORD=YOUR_PASSWORD
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync
MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
Отредактируйте это.env Там есть.env.sample, попробуйте создать из него, если такой файл.env не найден.
Ответ 3
Возможно, вы забыли сначала создать миграцию таблицы:
php artisan migrate:install
Также есть очень удобный пакет Generators, который делает для вас большую работу https://github.com/JeffreyWay/Laravel-4-Generators#views
Ответ 4
Также гораздо лучше не изменять файл app/config/database.php
... в противном случае изменить файл .env
и поместить в него информацию о БД. (файл .env
доступен в Laravel 5, не уверен, что он был там в предыдущих версиях...)
ПРИМЕЧАНИЕ. Конечно, вы должны были установить mysql
как соединение по умолчанию по умолчанию в файле app/config/database.php
.
Ответ 5
Я потратил много времени, пытаясь понять это. Наконец, я попытался отключить мой сервер разработки и снова загрузить его. Разочаровало, это сработало для меня. Я пришел к выводу, что после редактирования файла .env
в Laravel 5 вам нужно выйти из сервера и снова запустить php artisan serve
.
Ответ 6
Вероятно, вы только забыли создать базу данных. Введите свой PHPMyAdmin и сделайте это оттуда.
Редактировать: Определенно не ходите с ответом Маулика. Мало того, что использует mysql_ extenstion (который обычно считается плохой практикой), Laravel также заботится о ваших соединениях с использованием PDO.