我有这样的事情:
function odeon(){
$data= file_get_contents('https://api.cinelist.co.uk/get/times/cinema/10565');
$data = json_decode($data);
$id = 1;
foreach($data->listings as $listing){
$title = $listing->title;
$time = implode(', ', $listing->times);
$business_id = 1;
$film = Film::where('id', $id)->first();
$id = $id + 1;
// if news is null
if (!$film) {
$film = new Film();
}
$film->title = $title;
$film->times = $time;
$film->business_id = $business_id;
$film->save();
}
return view('odeon')->with(['listings' => $data->listings]);
}
我想要做的是添加更多电影院,而不是:
$数据= 的file_get_contents( 'https://api.cinelist.co.uk/get/times/cinema/10565');
$ data = file_get_contents('https://api.cinelist.co.uk/get/times/cinema/6756');
类似于:
$ data = file_get_contents('https://api.cinelist.co.uk/get/times/cinema/6756-10565');
所以从数字6756到10565,问题是这个以及每个电影都有不同的business_id我不想复制每个电影的功能所以任何帮助将不胜感激;)
另一个问题是,如果另一天的电影会比前一天减少,我当然不想在今天的电影中播放
//修改
好的,我会尽力解释我想要达到的目标。
我想循环播放电影,为今天检索电影,保存到数据库,检索明天保存到数据库中的数据等等。我想这样做7天,现在每个电影院,电影院ID +日期变化:
https://api.cinelist.co.uk/get/times/cinema/10565?day=2017-06-14
今天会给我带回电影,但是我想要实现7天这样的事情:
$cinema_id=['10', '20'] (number = cinema_id)
$startdate = strtotime("today");
$enddate = strtotime("+7 Days");
while ($startdate < $enddate) {
echo date("Y-m-d", $startdate) . "<br>";
$startdate = strtotime("+1 Days", $startdate);
}
$data= file_get_contents (https://api.cinelist.co.uk/get/times/cinema/$cinema_id?day=$startdate)
所以基本上我想循环播放一系列电影和每个cinema_id,提前7天将详细信息保存到数据库中。当然我不想保留旧记录,因此每天都要删除或更新
答案 0 :(得分:1)
你的问题很模糊,但可能你的意思是......
function odeon(){
$arrayOfCinemaIds = [10565,6756];
foreach($arrayOfCinemaIds as $id){
//append your id
$data= file_get_contents('https://api.cinelist.co.uk/get/times/cinema/'.$id);
$data = json_decode($data);
$id = 1;
foreach($data->listings as $listing){
$title = $listing->title;
$time = implode(', ', $listing->times);
$business_id = 1;
$film = Film::where('id', $id)->first();
$id = $id + 1;
// if news is null
if (!$film) {
$film = new Film();
}
$film->title = $title;
$film->times = $time;
$film->business_id = $business_id;
$film->save();
}
$listings[]=$data->listings;
}
//$listings will have all the listings from all the loops
return view('odeon')->with(['listings' => $listings]);
}
您只需根据需要向$arrayOfCimenaIds
添加更多条目。通常,您可以从Db或其他数据存储中加载它们。
编辑: 如果你有一系列数字,你不需要你可以做的数组
for($id=6756;$id<=10565;$id++){..}
而不是foreach()