我正在使用Cinelist中的API获得电影片名+次,然后我想将这些值保存到数据库中。
此刻,它确实只保存了1条记录,最后一条记录。但是,我希望它能保存每一个。
每次运行时我都希望更新现有记录,而不是创建新记录,除非有更多结果。
所以通常有5条记录,每次我运行我想用新的5条记录更新数据库的功能,但是,如果它是不同的一天,有6条记录,我想更新5条记录和插入1个额外的一个,所以有6个。
到目前为止我的代码:
function odeon(){
$data= file_get_contents('https://api.cinelist.co.uk/get/times/cinema/10565');
$data = json_decode($data);
foreach($data->listings as $listing){
$title = $listing->title;
$time = implode(', ', $listing->times);
$id = + 1;
$films = Film::where('id', $id)->first();
if (!$films) {
$films = new Film();
}
$films->title = $title;
$films->times = $time;
$films->save();
}
}
答案 0 :(得分:1)
您可以使用eloquent的updateOrCreate方法插入不存在的数据并更新现有数据。
private Flowable<UserStores> userStores() {
return apiIcaSeResource
.userStores()
.toFlowable(); }
@GET("user/stores")
Single<UserStores> userStores();