私はケーキPHPを初めて使っています。私はデータベースを構造化してユーザーが会場にアクティビティを追加できるようにしようとしていますが、会場にすでにその特定のアクティビティがある場合はレコードを追加しません。例えば;あなたも同じactivity.Forと同じ会場を複数回持つことができ、A現時点ではケーキPHPレコードの追加と編集
ローズとクラウン=ピンポン
ローズアンドクラウン=スヌーカー
ローズアンドクラウン=卓球
例。私は仕事をすることができました
public function add()
{
$venueActivity = $this->VenueActivities->newEntity();
if ($this->request->is('post')) {
$venueActivity = $this->VenueActivities->patchEntity($venueActivity, $this->request->data);
if ($this->VenueActivities->save($venueActivity)) {
$this->Flash->success(__('The venue activity has been saved.'));
return $this->redirect(['action' => 'index']);
} else {
$this->Flash->error(__('The venue activity could not be saved. Please, try again.'));
}
}
$venues = $this->VenueActivities->Venues->find('list', ['limit' => 200]);
$activities = $this->VenueActivities->Activities->find('list', ['limit' => 200]);
$this->set(compact('venues', 'venueActivity', 'activities'));
$this->set('_serialize', ['venueActivities']);
}
ローズとクラウン=ピンポン
ローズアンドクラウン=スヌーカー
ローズアンドクラウン=卓球
ローズとクラウン=ピンポンレコードを完全に上書きする方法は、会場のレコードは1つだけです(下記のコードを参照してください)が、同じアクティビティが入力されている場合はレコードを上書きする必要があります。しかし、あなたはすべての異なる活動を持つことができます。
public function add()
{
$venueActivity = $this->VenueActivities->newEntity();
if($this->request->is('post')) {
$venueActivity = $this->VenueActivities->patchEntity($venueActivity, $this->request->data);
$oldVenueActivity = $this->VenueActivities->find()->where(['venue_id' => $venueActivity->venue_id]);
foreach($oldVenueActivity as $activity) {
$this->VenueActivities->delete($activity);
}
if ($this->VenueActivities->save($venueActivity)) {
$this->Flash->success(__('The venue activity has been saved.'));
return $this->redirect(['action' => 'index']);
} else {
$this->Flash->error(__('The venue activity could not be saved. Please, try again.'));
}
}
$venues = $this->VenueActivities->Venues->find('list', ['limit' => 200]);
$activities = $this->VenueActivities->Activities->find('list', ['limit' => 200]);
$this->set(compact('venues', 'venueActivity', 'activities'));
$this->set('_serialize', ['venueActivities']);
}
ありがとうございます。