Я пытаюсь сохранить ответы на опрос в моей БД, потому что по какой-то мне неизвестной причине не работает метод -> save (), однако работает -> update ().
Я продолжаю получатьошибка преобразования массива в строку каждый раз, когда я пытаюсь сохранить.
Я использовал dd / return / var_dump / print_r, что бы ни работало, чтобы показать, что он работал до этого шага. Теперь я знаю, что он работает до метода -> save ().
Мой контроллер:
$array = json_decode($request->getContent(), true);
foreach ($array as $survey) {
$objAns = new Survey_Answer();
$objAns->name = $survey['surveyName'];
$objAns->answers = $survey['answersPerQuestion'];
if($survey['complete'] === true) {
$objAns['complete'] = 1;
} else if($survey['complete'] === false) {
$objAns->complete = 0;
}
$objAns->save();
}
return;
Моя модель:
class Survey_Answer extends Model
{
protected $fillable = ['name', 'answers', 'complete'];
}
Моя миграция:
public function up()
{
Schema::create('survey__answers', function (Blueprint $table) {
$table->bigIncrements('id');
$table->bigInteger('survey_id')->unsigned()->nullable()->index();
$table->foreign('survey_id')->references('id')->on('surveys')->onDelete('cascade');
$table->string('name');
$table->json('answers');
$table->boolean('complete');
$table->timestamps();
});
}
Я ожидаю, что код сохранит все, что я отправлю вместе с запросом $. Это приводит только к ошибке: преобразование массива в строку.
Большое спасибо за помощь