在PHP Laravel 2019中连接来自不同数据库的2个或多个表,可以通过配置多个数据库连接并使用Eloquent模型来实现。
首先,在Laravel的配置文件config/database.php中,可以添加多个数据库连接配置。每个连接配置包括数据库类型、主机、端口、数据库名、用户名和密码等信息。例如:
'connections' => [
'postgres1' => [
'driver' => 'pgsql',
'host' => 'localhost',
'port' => '5432',
'database' => 'database1',
'username' => 'username1',
'password' => 'password1',
'charset' => 'utf8',
'prefix' => '',
'schema' => 'public',
],
'postgres2' => [
'driver' => 'pgsql',
'host' => 'localhost',
'port' => '5432',
'database' => 'database2',
'username' => 'username2',
'password' => 'password2',
'charset' => 'utf8',
'prefix' => '',
'schema' => 'public',
],
// 可以继续添加其他数据库连接配置...
],
然后,在使用Eloquent模型时,可以指定要使用的数据库连接。在Eloquent模型类中,可以使用$connection
属性来指定数据库连接的名称。例如,假设我们有两个表table1
和table2
,分别属于两个不同的数据库连接postgres1
和postgres2
:
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Table1 extends Model
{
protected $connection = 'postgres1';
protected $table = 'table1';
}
class Table2 extends Model
{
protected $connection = 'postgres2';
protected $table = 'table2';
}
接下来,就可以在代码中使用这两个Eloquent模型来连接不同数据库的表了。例如,可以通过以下方式获取表数据:
$table1Data = Table1::all();
$table2Data = Table2::where('column', 'value')->get();
通过上述配置和代码,我们就能够在PHP Laravel 2019中连接来自不同数据库的2个或多个表了。
附:腾讯云相关产品推荐
领取专属 10元无门槛券
手把手带您无忧上云