laravel检索json并保存到数据库中

时间:2017-06-13 15:18:14

标签: laravel laravel-5

我正在使用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();
        }
}

1 个答案:

答案 0 :(得分:1)

您可以使用eloquent的updateOrCreate方法插入不存在的数据并更新现有数据。

  private Flowable<UserStores> userStores() {
return apiIcaSeResource
    .userStores()
    .toFlowable(); }

  @GET("user/stores")
Single<UserStores> userStores();