私はCakePhpフレームワークが初めてで、現在はプロジェクトをテスト中です。私が持っている問題は、私はドロップダウンオプションを設定することができますが、私はオプションを選択したいときにデータベースに保存されません。私は何か見落としてますか?ドロップダウンからデータベースにデータを保存するCakePHP
私は、ドロップダウンを移入することができ、このコードを使用する - bookings.js
$("#contact_submit").click(function() {
var name = $("#name").val();
var contact_email = $("#contact_email").val();
var subject = $("#subject").val();
var message = $("#txtmessage").val();
var service = $("#sel1").val();
console.log(name+contact_email+subject+message+service);
$.post("/inquiries/inquiry", //Required URL of the page on server
{// Data Sending With Request To Server
name: name,
email: contact_email,
subject: subject,
txt: message,
service_id: service,
},
function (response) { // Required Callback Function
if (jQuery.parseJSON(response).status == 'success') {
if ($("#available").hasClass("hide")) {
$("#available").removeClass("hide");
}
if (!$("#available").hasClass("hide")) {
$("#notavailable").addClass("hide");
}
}else{
if ($("#notavailable").hasClass("hide")) {
$("#notavailable").removeClass("hide");
}
if (!$("#available").hasClass("hide")) {
$("#available").addClass("hide");
}
}
});
});
InquriesController.php
public function inquiry()
{
$inquiry = $this->Inquiries->newEntity();
if ($this->request->is('post')) {
$emailaddress = $this->request->data['email'];
$subject = $this->request->data['subject'];
$txt = $this->request->data['txt'];
$services = $this->request->data['service_id'];
$message = "this is a message";
$inquiry = $this->Inquiries->patchEntity($inquiry, $this->request->data);
if ($this->Inquiries->save($inquiry)) {
$email = new Email('default');
$email->from(['[email protected]' => 'Testing Hotel'])
->to($emailaddress)
->subject('Inquiry Mail')
->emailFormat('html')
->send($message);
echo json_encode(['status' => 'success']);
exit;
} else {
echo json_encode(['status' => 'failed']);
exit;
}
}
}
HTMLコードスニペット
<div class="col-md-6 col-sm-6 col-xs-12">
<input type="text" name="contact_email" id="contact_email" class="form-control" placeholder="Email *">
</div>
<div class="col-md-12 col-sm-12 col-xs-12">
<input type="text" id="subject" class="form-control" placeholder="Subject">
</div>
<div class="col-md-12 col-sm-12 col-xs-12">
<input class="form-control" name="txtmessage" id="txtmessage" rows="8" placeholder="Messages goes here.."></input>
<div class="form-group">
<select class="form-control" id="sel1">
<option>Select a service</option>
<?php
if (!empty($ServicesInfo)) {
foreach ($ServicesInfo as $Services):
?>
<option value="<?= h($Services->name)?>"><?= h($Services->name)?></option>
<?php endforeach; } ?>
</select>
</div>
他のフィールドも保存されませんか? – Aarrbee
保存されないservice_idのみ。 –
'service_id'に' $ Services-> name'を送ります。データベースに** int **フィールドが含まれている可能性があります。そのため、サービス名は保存されません。 – Aarrbee