Laravel Backpack v6 CRUD: поле select2_from_ajax не отображает возвращаемые значения AJAXPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Laravel Backpack v6 CRUD: поле select2_from_ajax не отображает возвращаемые значения AJAX

Сообщение Anonymous »

Я работаю с 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»