タイトルが紛らわしいかもしれません。これが私がしなければならないことです。cronjobs と cronjob_seeds の 2 つのテーブルがあります。データベースに追加する前に、cronjob が存在するかどうかを確認する必要があります。
次の表を検討してください。
cron ジョブ:
-id- -callback_model- -callback_method-
1 movie_suggestion_model fetch_similar_movies
cronjob_seeds:
-cronjob_id- -seed-
1 seed1
1 seed2
新しい cronjob を追加する前に、まったく同じ cronjob がデータベースに存在するかどうかを確認する必要があります。次のクエリを書きましたが、cronjob に複数のシードがあると機能しません。シードが 1 つしかない場合はうまく機能しますが、cronjob が複数のシードを持つたびに何も返されません。
SELECT `id`
FROM (`cronjobs`)
INNER JOIN `cronjob_seeds` ON `cronjob_seeds`.`cronjob_id` = `cronjobs`.`id`
WHERE `cronjobs`.`callback_model` = 'movie_suggestion_model'
AND `cronjobs`.`callback_method` = 'fetch_similar_movies'
AND `cronjob_seeds`.`seed` = '1'
AND `cronjob_seeds`.`seed` = 10
何か不足していますか?別のタイプの結合を使用する必要がありますか?
そして、トピック外ですが、シードはコールバック メソッドのパラメーターです。少し変わった名前を付けただけです。