В настоящее время я работаю над проектом Laravel 5.5 с использованием Homestead в Windows 10.
Ситуация такова: мое приложение должно считывать данные (только для чтения, без записи) из внешней базы данных, которая находится на моей физической машине. Потому что в производственной среде это приложение имеет собственную базу данных, а также нуждается в извлечении данных из удаленной базы данных. Эта внешняя база данных размещена на локальном хосте с использованием XAMPP.
Я искал в Интернете и не получил никакого ответа, относящегося к моему сценарию. Я сейчас совершенно сбит с толку. Я новичок в программировании, поэтому кто-нибудь может дать мне несколько советов, как мне это настроить? Большое вам спасибо!
[Update]
Об этом приложении я работаю над:
Это веб-приложение, которое позволяет библиотекарям и сотрудникам академической поддержки записывать детали каждой услуги, например, какой студент пришел с вопросом о том, как делать ссылки и т. Д.
Он будет работать только в моей школе, вроде внутреннего приложения? В любом случае, никто не может получить к нему доступ за пределами школы, и он предназначен только для сотрудников, а не для учащихся.
Это приложение имеет свою собственную локальную базу данных для хранения учетных записей сотрудников и служебных данных, а также, как я уже упоминал выше, оно должно извлекать информацию о студентах из школьной базы данных, а сейчас во время разработки я настраивал базу данных на своем физическом компьютере в качестве школьную базу данных и добавьте туда несколько фиктивных данных.
Затем я создал новую модель под названием Student с использованием командной строки. Когда я попытался прочитать данные из внешней базы данных с помощью php tinker, он показал ошибку, подобную этой:
>>> App\Modles\Student::all()
PHP Fatal error: Class 'App/Modles/Student' not found in Psy Shell code on line 1
Ниже я включил мои файлы Student.php, .env и database.php
App / Модели / Student.php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Student extends Model
{
protected $connection = 'mysql_campus';
}
.env:
......
//Local Database
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_DATABASE=w2_support
DB_USERNAME=homestead
DB_PASSWORD=secret
//External Database
DB_CONNECTION=mysql_campus
DB_EXT_HOST=10.0.2.2
DB_EXT_DATABASE=campus
DB_EXT_USERNAME=root
DB_EXT_PASSWORD=
BROADCAST_DRIVER=log
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync
......
database.php:
......
'connections' => [
'sqlite' => [
'driver' => 'sqlite',
'database' => env('DB_DATABASE', database_path('database.sqlite')),
'prefix' => '',
],
//Local Database
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
],
//External Database
'mysql_campus' => [
'driver' => 'mysql',
'host' => env('DB_EXT_HOST', '10.0.2.2'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_EXT_DATABASE', 'forge'),
'username' => env('DB_EXT_USERNAME', 'forge'),
'password' => env('DB_EXT_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
],
......