我的情况很奇怪。 以下代码在我的本地主机上运行,但是在我的服务器上不运行。
我收到错误“找不到基本表或视图:1146表'beteu.bets'不存在”。该模型不在正确的数据库中查找,这就是为什么它找不到表的原因。但是他不应该在该数据库中查找。
在该函数中,我在调用该方法的地方进行了以下测试,以检查什么是活动数据库:
DB::connection()->getPdo();
if(DB::connection()->getDatabaseName()){
echo "Yes! Successfully connected to the DB: " . DB::connection()->getDatabaseName();
}
die();
因此,结果是我得到了正确的数据库“ soccerbets”,但是我尝试将所有结果输出到“ bets”表中,如下所示:
DB::connection()->getPdo();
if(DB::connection()->getDatabaseName()){
echo "Yes! Successfully connected to the DB: " . DB::connection()->getDatabaseName();
print_r(Bet::get());
}
die();
在这里,我又得到了一个奇怪的错误: SQLSTATE [42S02]:找不到基表或视图:1146表'beteu.bets'不存在
这是Bet模型的代码:
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Bet extends Model {
protected $fillable = [
'ip', 'site',
];
}
我也尝试过在该模型中明确定义数据库,但是什么也没有发生。
请帮助我找到那个愚蠢的错误:)
答案 0 :(得分:-1)
您要在模型中寻找的变量是
protected $connection = "connection of your second db name";
您还必须在/config/database.php中定义一个新的连接(数据库)
如果您不想在版本控制中公开凭据,则还必须添加至少一个新的.env变量来设置连接。
类似于默认的“ mysql”连接,您可以添加一个新连接,也可以在.env中设置默认连接