Я новичок в программировании, и я только учусь. Я использую Laravel и Twilio, чтобы сделать приложение для оценки на основе SMS. На этом этапе мое приложение отправит вопрос получателю, и получатель сможет ответить. Эта часть функциональна. Однако мне нужно иметь возможность хранить ответ получателя в своей базе данных. Для меня важно отличать ответы «Да» от ответов «Нет». Я не уверен, как вставить эти данные в базу данных в этой ситуации.
Я пытался использовать оператор if для этого. Например, если ответ «да», загрузите данные «да» в базу данных. Если ответ «нет», загрузите данные «нет» в базу данных. Я пытался создать код, который делает этот тип логики. Ниже моя попытка только вставить данные после ответа «да».
namespace App\Http\Controllers;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Http\Request;
use Twilio\Rest\Client;
use Twilio\Jwt\ClientToken;
use Twilio\Twiml;
use App\res_eval_datasets;
use Session;
use DB;
class AskFirstQuestionsController extends Controller
{
public function qOneResponse(Request $request) {
$responderNumber = $request->input('From');
session()->put('responderNumber', $responderNumber);
$responderAnswer = strtolower($request->input('Body'));
if (strpos($responderAnswer, 'yes') !== false) {
$attending_name = session::get('attending_name');
$resident_name = session::get('residentName');
$firstQuestion = session::get('first_question');
DB::table('res_eval_datasets')-
>insert(['attending'=>$attending_name,'resident_name'=>
$resident_name,'question_id' =>$firstQuestion, 'answer_yes'=>1]);
$smsResponse = "Thank You for teaching!";
} else if (strpos($responderAnswer, 'no') !== false) {
$smsResponse = "Ugh, ok...we will work on this";
} else if (strpos($responderAnswer, 'ids') !== false) {
$smsResponse = "Let's try a different question";
} else {
$smsResponse = "Please answer yes, no or dns.";
}
return response($this->respond($smsResponse))->header('Content-Type',
'application/xml');
}
public function respond($smsResponse) {
$response = new Twiml();
$response->message($smsResponse, ['to' => '+15303219327']);
//session()->flush();
session()->forget('firstQuestionSent');
return $response;
}
Это продолжает давать мне 500 внутренних ошибок сервера, когда я пытаюсь это сделать. У меня такое чувство, что моя проблема с подключением к базе данных.