Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 函数的作用是:在默认数据库中查找表_Php_Laravel - Fatal编程技术网

Php 函数的作用是:在默认数据库中查找表

Php 函数的作用是:在默认数据库中查找表,php,laravel,Php,Laravel,我的laravel项目中有多个数据库,默认数据库名为auth。我的应用程序中的大多数表都在数据库目录中。该数据库中的两个表是具有多对多关系的文档和项目。我使用laravel的attach()函数将记录保存到第三个表中。但我得到了以下错误: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'auth.document_item' doesn't exist. 我是否可以定义表document\u item也在inventory数

我的laravel项目中有多个数据库,默认数据库名为auth。我的应用程序中的大多数表都在数据库目录中。该数据库中的两个表是具有多对多关系的
文档
项目
。我使用laravel的
attach()
函数将记录保存到第三个表中。但我得到了以下错误:

SQLSTATE[42S02]: Base table or view not found: 1146 Table 'auth.document_item' doesn't exist.
我是否可以定义表
document\u item
也在
inventory
数据库中?

如果

  • 使用
    $connection
    属性指定每个型号使用的连接
  • 在您的
    归属关系中指定自定义轴心模型
使用illumb\Database\elount\Model;
类文档扩展模型
{
受保护的$connection='auth';//数据库名称
受保护的$table='documents';//表名
公共职能项目()
{
使用(DocumentItem::class)返回$this->belongToMany(Item::class,'document_Item')->;
}
使用illumb\Database\elount\Model;
类项扩展模型
{
受保护的$connection='inventory';//数据库名称
受保护的$table='items';//表名
公共职能文件()
{
使用(DocumentItem::class)返回$this->belongToMany(Document::class,'Document_item')->using;
}
}
使用illumb\Database\elount\Relations\Pivot;
类DocumentItem扩展了Pivot
{
受保护的$connection='inventory';//数据库名称
受保护的$table='document_item';//表名
公共职能文件()
{
返回$this->belongsTo(文档::类);
}
公共职能项目()
{
返回$this->belongsTo(Item::class);
}
}

您的关系是如何定义的?您可以执行类似于
$this->belongToMany(Item::class,'inventory.document.\u Item'的操作)
为关系指定自定义表名。您也可以在模型上定义连接?@Rwd是的,两个模型都有连接defined@apokryfos,将数据库名称添加到belongToMany()中的表名称中会有所帮助。谢谢