То, что я пытаюсь сделать, заключается в том, чтобы одновременно добавить расходы и поставщика, зная, что соотношение между таблицей расходов и таблицей поставщиков является отношением друг к другу. Поставщик может иметь vendor_contacts, который это таблица, есть один ко многим отношений с поставщиками таблицы ..Laravel - Неопределенный индекс
Это мой код:
if (isset($data['vendor'])) {
$canSaveVendor = false;
$vendorPublicId = array_get($data, 'vendor.public_id') ?: array_get($data, 'vendor.id');
if (empty($vendorPublicId) || $vendorPublicId == '-1') {
$canSaveVendor = Auth::user()->can('create', ENTITY_VENDOR);
} else {
$vendor = Vendor::scope($vendorPublicId)->first();
}
if ($canSaveVendor) {
$vendor = $this->vendorRepo->save($data['vendor']);
}
if ($canSaveVendor) {
$data['vendor_id'] = $vendor->id;
}
}
$expense = $this->expenseRepo->save($data, $expense);
$vendor = $expense->vendor;
$vendor->load('vendor_contacts');
return $expense;
Это код, который выполняется, когда мы хотим, чтобы сохранить поставщика:
if ($vendor) {
// do nothing
} elseif (!$publicId || $publicId == '-1') {
$vendor = Vendor::createNew();
} else {
$vendor = Vendor::scope($publicId)->with('vendor_contacts')->firstOrFail();
\Log::warning('Entity not set in vendor repo save');
}
$vendor->fill($data);
$vendor->save();
$first = true;
$vendorcontacts = isset($data['vendor_contact']) ? [$data['vendor_contact']] : $data['vendor_contacts'];
foreach ($vendorcontacts as $vendorcontact) {
$vendorcontact = $vendor->addVendorContact($vendorcontact, $first);
$first = false;
}
, когда я пытаюсь сохранить правильное сохранение файла поставщика в таблице продавцов, но ни расход нет, ни продавец 0contacts , и он дает мне Undefined index: vendor_contacts
Что мне делать, пожалуйста?
Что такое название вашего метода отношения в классе 'Vendor' модели? он вызывает: 'vendor_contacts()' или 'vendorContacts'? –
называет vendor_contacts() – eya