我有一个应用程序,我正在与Laravel一起写作。我对框架仍然相当新,并且不了解大部分内容。我使用Algolia作为Laravel's Scout的搜索引擎。在模型中添加C:\Users\"username"\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\MSSQLLocalDB
,一个特征,记录会自动传递给Algolia,这很酷。我试图提出一个简单的陈述use Searchable
,因此我们不会将我们的开发数据发送给Algolia。如果我用完Algolia的10,000个记录的黑客级别,Scout也会抛出异常。
答案 0 :(得分:5)
在您当地的.env添加
SCOUT_DRIVER=null
在制作中添加
SCOUT_DRIVER=algolia
在config / scout.php中添加
'driver' => env('SCOUT_DRIVER', 'null')
自动将在本地忽略它,但在生产中工作。 这只是一个建议。尝试根据您的具体情况进行调整。
答案 1 :(得分:2)
在您的本地环境中,您可以拨打YourModel::disableSearchSyncing()
,这会阻止此模型将数据推送到Algolia。
与此方法相反的是YourModel::enableSeachSyncing()
,但默认情况下启用搜索,因此通常无需使用它。
答案 2 :(得分:0)
在dplyr::nth
文件中设置环境:
.env
确定当前环境:
APP_ENV=local
检查$environment = App::environment();
并返回true:
$environment
答案 3 :(得分:0)
以上解决方案均无效我建议您检查toSearchableArray()
模型中的User
方法。如果您尝试在本地环境中设置SCOUT_DRIVER=null
,那么您将面临错误,因为您的应用程序倾向于在任何环境中推送到Algolia。
尝试改为:
public function toSearchableArray()
{
if (! app()->isLocal()) {
return [
'username' => $this->username,
'age' => (string) $this->age,
// and so on ...
];
}
}