Я работаю с Laravel Backpack CRUD, и у меня есть поле select2_from_ajax, в котором необходимо отображать цены на продукты на основе выбора клиента. разные клиенты получают разные цены, которые я сейчас использую
public function fetchProductPrice()
{
$formData = request()->input('form');
$customerIdField = collect($formData)->firstWhere('name', 'customer_id');
$productIdField = collect($formData)->firstWhere('name', 'items[0][product_id]');
$customerId = $customerIdField['value'];
$productId = $productIdField['value'];
$customer = \App\Models\Customers::find($customerId);
$priceSettingId = $customer->price_setting_id;
// dd([
// 'customerId' => $customerId,
// 'productId' => $productId,
// 'priceSettingId' => $priceSettingId,
// 'query' => \App\Models\Price::where('price_setting_id', $priceSettingId)
// ->where('product_id', $productId)
// ->get()
// ]);
// $price = \App\Models\Price::where('price_setting_id', $priceSettingId)
// ->where('product_id', $productId)
// ->first();
// return [
// 'id' => $price->id,
// 'text' => $price->nominal
// ];
return $this->fetch(\App\Models\Price::class)
->where('price_setting_id', $priceSettingId)
->where('product_id', $productId);
}
буду благодарен за любую помощь, поскольку я впервые пользуюсь этим сайтом.
используя:
return $this->fetch(\App\Models\Price::class)
->where('price_setting_id', $priceSettingId)
->where('product_id', $productId);
возвращает цену, которую я хотел для некоторых необходимых продуктов, но некоторые из них возвращают пустой ответ.
используя метод ниже, результатом является выборка мне нужно было, но я не могу его выложить
return [
'id' => $price->id,
'text' => $price->nominal
];
Изменить:
я решил проблему с запросом, используя такую пользовательскую функцию выборки
return $this->fetch([
'model' => \App\Models\Price::class,
'searchable_attributes' => ['nominal'],
'paginate' => 10,
'query' => function($model) use ($priceSettingId, $productId) {
return $model->where('price_setting_id', $priceSettingId)
->where('product_id', $productId);
}
]);
а не только
return $this->fetch(\App\Models\Price::class)
->where('price_setting_id', $priceSettingId)
->where('product_id', $productId);
Подробнее здесь: https://stackoverflow.com/questions/793 ... ned-ajax-v
Laravel Backpack v6 CRUD: поле select2_from_ajax не отображает возвращаемые значения AJAX ⇐ Php
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Добавление фиксированного значения для создания и обновления в Laravel с помощью Backpack
Anonymous » » в форуме Php - 0 Ответы
- 18 Просмотры
-
Последнее сообщение Anonymous
-