aeneas
aeneas Bir diğer kafama takılan şey ise bir sayfa artık yoksa, yani 404 cevirirse ne olacak. o sayfayı atlar devam mı eder. hata verip tüm işlem başarısızmı olur. Başarısız oluyorsa bunun için ne yapmam lazım.
$response->getStatusCode() size http status kodunu verir. $response->getStatusCode() != 200
ise diye kontrol ekleyeceksiniz.
aeneas Sıkıntım şu, çektiğim başlık ve urlelerden birisi daha önce kaydedildiyse, doğal olarak kaydetmesin istiyorum.
Bunu yapmanın birden fazla yolu var. Size race-condition problemi yaşatmayacak şekilde olanlardan biri unique index kullanmak. bot tablonuza baslik ve url için unique index ekleyeceksiniz:
Eğer ikisi bağımsız bir şekilde benzersiz olsun istiyorsanız:
$table->unique('baslik');
$table->unique('url');
Bu şekilde başlık A bir kere eklendi mi bir daha eklenmez, url B bir kere eklendi mi bir daha eklenmez. Eğer her ikisi birlikte engellemek istiyorsanız, yani şuna izin vermek istiyorsanız:
+--------+-----+
| baslik | url |
+--------+-----+
| A | B |
| A | C |
+--------+-----+
birleşik index ekleyeceksiniz:
$table->unique(['baslik', 'url']);
Böyle yaptığınızda girişe engel olursunuz ama doğal olarak duplicate record hatası alacaksınız. Bu hatayı try...catch ile de yakalayıp işlem yapabilirsiniz ya da hata vermesin yeter derseniz insert yerine insertOrIgnore kullanabilirsiniz.