【发布时间】:2021-09-07 11:14:30
【问题描述】:
为了将 Algolia 搜索与 Airtable 数据一起使用,在 Laravel 应用程序中,我认为需要使用我检索到的数据创建一个 Eloquent 模型,然后才能使用 Laravel Scout。
我可以使用从 Airtable 检索到的 Collection 数据作为没有 DB 的模型吗?
【问题讨论】:
标签: php laravel collections model
为了将 Algolia 搜索与 Airtable 数据一起使用,在 Laravel 应用程序中,我认为需要使用我检索到的数据创建一个 Eloquent 模型,然后才能使用 Laravel Scout。
我可以使用从 Airtable 检索到的 Collection 数据作为没有 DB 的模型吗?
【问题讨论】:
标签: php laravel collections model
为此有一个hydrate 方法:
YourModel::hydrate($collections->toArray())
但如果你只有一个对象,你就可以
$res = new YourModel($your_object)
或者你甚至可以使用fill
(new YourModel())->fill($your_obj)
显然,除非您不调用 save 或 update 或类似的东西,laravel 尝试将该模型保存在数据库中,否则您是安全的(也许考虑从模型中“禁用”它们,这样如果你不小心调用了这些方法,什么都不会发生)
【讨论】:
Model 我不明白为什么会有问题
airtable_things order by id asc limit 500)
scout:import 确实:If you are installing Scout into an existing project, you may already have database records you need to import into your indexes... 所以要么你有数据库,要么你不想使用导入...