Я столкнулся с проблемой при передаче переменных данных, которые определены в одной функции для просмотра, которая определена в функции index(). Мне нужно передать переменную $ bodystyles, определенную в функции bodystylelists(), в мое индексное представление с переопределением начальных $ bodystyles. Я вызываю bodystylelists() через AJAX как отдельный пост-маршрут. Как я могу это достичь? Ниже приведен код контроллера:Как передать переменные данные для просмотра
class DashboardController extends Controller
{
public function index()
{
$date_lists = Salemodel::lists('Datetime');
$makes = Saleone::distinct()->lists('Make');
$segments = Salemodel::distinct()->lists('Segment');
$bodystyles = Salemodel::distinct()->whereIn('segment', $segments)->lists('Bodystyle');
$models = Salemodel::distinct()->whereIn('Bodystyle', $bodystyles)->lists('Model');
return \View::make('analytics.dashboard.index')->with('date_lists', $date_lists)->with('segments', $segments)->with('bodystyles', $bodystyles)->with('models', $models)->with('makes', $makes);
}
public function bodystylelists(Request $request)
{
$segments = $request->input('segments');
$bodystyles = Salemodel::distinct()->whereIn('segment', $segments)->lists('Bodystyle');
//$bodystyles = json_encode($bodystyles);
//print_r($bodystyles);
}
}
Я реализую три фильтра сегмента, Bodystyle, модель как три отдельных DropDownList на мой взгляд, и я реализую их в качестве каскадных фильтров. то есть когда пользователь выбирает любое значение сегмента, тогда все значения стилей тела, принадлежащие этому конкретному сегменту, должны отражаться в выпадающем списке Bodystyle. Подобная функциональность должна быть реализована между Bodystyle и Model. Я заполняю значения этих dropdownlist из базы данных MySQL.
Мои фильтры для отбора проб, как показано ниже:
select Segment:1. A select Bodystyle: 1. Hatch select Model: 1. Alto
2. B1 2. Sedan 2. Swift
3. C1 3. MUV 3. Innova
4. C2 4. SUV 4. Datsun
Вы можете редактировать запись с помощью функции AJAX и часть вида который использует переменную? – Laerte