Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Селект организован так:
<label for="user_id" class="block text-sm font-medium text-gray-700">Пользователь</label>
<select id="user_id" name="user_id" autocomplete="country" class="mt-1 block w-full py-2 px-3 border border-gray-300 bg-white rounded-md shadow-sm focus:outline-none focus:ring-indigo-500 focus:border-indigo-500 sm:text-sm">
@foreach($users as $user)
<option value="{{ $user->id }}">{{ $user->name }}</option>
@endforeach
</select>
обработка в соответствующем классе:
public function store() {
$this->validate([
'user_id' => 'required',
'organization_id' => 'required',
]);
Worker::updateOrCreate(['id' => $this->worker_id], [
'user_id' => $this->user_id,
'organization_id' => $this->organization_id,
'active' => $this->active
]);
}
Но в результате имею постоянно ошибку:
SQL: insert into `workers` (`user_id`, `organization_id`, `active`, `updated_at`, `created_at`) values (0, 0, 1, 2020-12-19 17:46:40, 2020-12-19 17:46:40)
т.е. получается, что не передаются поля из селекта, подставляются 0 и 0
В чем ошибка? И как бы посмотреть, что он там получает при создании нового элемента?
Изменено RizONE (19.12.2020 20:50:34)
Не в сети
Проверил через dd($request->all()) - форма возвращает и `user_id` и `organization_id`, но ошибка сохраняется
Не в сети
Проблема может и в том, что таблица workers организована так:
public function up()
{
Schema::create('workers', function (Blueprint $table) {
$table->id();
$table->foreignId('user_id')->constrained();
$table->foreignId('organization_id')->constrained();
$table->boolean('active');
$table->timestamps();
});
}
т.е. тут 2 внешних ключа
и полная ругань:
QLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`bill`.`workers`, CONSTRAINT `workers_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`)) (SQL: insert into `workers` (`user_id`, `organization_id`, `active`, `updated_at`, `created_at`) values (0, 0, 1, 2020-12-19 18:18:43, 2020-12-19 18:18:43))
Не в сети
Страницы 1