#laravel #database #eloquent
#ларавель #База данных #красноречивый
Вопрос:
Я использую две разные базы данных, и мне нужно извлечь данные из обеих баз данных с пользователем и кодом продукта, в таблице productcode есть внешний ключ sale_by, когда я присоединяюсь к обеим таблицам, я получил вышеуказанную ошибку.
В моем .env
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE= DB_USERNAME= DB_PASSWORD= DB_CONNECTION_SECONDARY=secondary DB_HOST_SECONDARY=127.0.0.1 DB_PORT_SECONDARY=3306 DB_DATABASE_SECONDARY= DB_USERNAME_SECONDARY= DB_PASSWORD_SECONDARY=
В му config/database.php
'mysql' =gt; [ 'driver' =gt; 'mysql', 'url' =gt; env('DATABASE_URL'), 'host' =gt; env('DB_HOST', '127.0.0.1'), 'port' =gt; env('DB_PORT', '3306'), 'database' =gt; env('DB_DATABASE', 'forge'), 'username' =gt; env('DB_USERNAME', 'forge'), 'password' =gt; env('DB_PASSWORD', ''), 'unix_socket' =gt; env('DB_SOCKET', ''), 'charset' =gt; 'utf8mb4', 'collation' =gt; 'utf8mb4_unicode_ci', 'prefix' =gt; '', 'prefix_indexes' =gt; true, 'strict' =gt; true, 'engine' =gt; null, 'options' =gt; extension_loaded('pdo_mysql') ? array_filter([ PDO::MYSQL_ATTR_SSL_CA =gt; env('MYSQL_ATTR_SSL_CA'), ]) : [], ], 'secondary' =gt; [ 'driver' =gt; 'mysql', 'url' =gt; env('DATABASE_URL_SECONDARY'), 'host' =gt; env('DB_HOST_SECONDARY', '127.0.0.1'), 'port' =gt; env('DB_PORT_SECONDARY', '3306'), 'database' =gt; env('DB_DATABASE_SECONDARY', 'forge'), 'username' =gt; env('DB_USERNAME_SECONDARY', 'forge'), 'password' =gt; env('DB_PASSWORD_SECONDARY', ''), 'unix_socket' =gt; env('DB_SOCKET_SECONDARY', ''), 'charset' =gt; 'utf8mb4', 'collation' =gt; 'utf8mb4_unicode_ci', 'prefix' =gt; '', 'prefix_indexes' =gt; true, 'strict' =gt; true, 'engine' =gt; null, 'options' =gt; extension_loaded('pdo_mysql') ? array_filter([ PDO::MYSQL_ATTR_SSL_CA =gt; env('MYSQL_ATTR_SSL_CA'), ]) : [], ],
Вот мой вопрос
$response = DB::table('secondary.productcode')-gt;select('name as customer_name', 'productcode', 'luckydrawcode', 'reward', 'activated_at', 'users.mobile_number') -gt;join('mysql.users', 'mysql.users.id', '=', 'secondary.productcode.sales_by') -gt;where('secondary.productcode.sales_by', auth('api')-gt;id() ?? auth()-gt;id()) -gt;get();