Iam, использующее поле автозаполнения, которое необходимо взять данные из базы данных mysql на основе действия php (YII2). В настоящее время поле автозаполнения статично статично. Код, используемый для заполнения заполненной автозаполнения, приведен ниже.Угловое заполнение поля автозаполнения из данных, взятых из php url
app.controller('DemoCtrl', DemoCtrl);
function DemoCtrl($timeout, $q) {
var self = this;
// list of `state` value/display objects
self.states = loadAll();
self.selectedItem = null;
self.searchText = null;
self.querySearch = querySearch;
// ******************************
// Internal methods
// ******************************
/**
* Search for states... use $timeout to simulate
* remote dataservice call.
*/
function querySearch(query) {
var results = query ? self.states.filter(createFilterFor(query)) : self.states;
var deferred = $q.defer();
$timeout(function() {
deferred.resolve(results);
}, Math.random() * 1000, false);
return deferred.promise;
}
/**
* Build `states` list of key/value pairs
*/
function loadAll() {
var allStates = 'Alabama, Alaska, Arizona, Arkansas, California, Colorado, Connecticut, Delaware,\
Florida, Georgia, Hawaii, Idaho, Illinois, Indiana, Iowa, Kansas, Kentucky, Louisiana,\
Maine, Maryland, Massachusetts, Michigan, Minnesota, Mississippi, Missouri, Montana,\
Nebraska, Nevada, New Hampshire, New Jersey, New Mexico, New York, North Carolina,\
North Dakota, Ohio, Oklahoma, Oregon, Pennsylvania, Rhode Island, South Carolina,\
South Dakota, Tennessee, Texas, Utah, Vermont, Virginia, Washington, West Virginia,\
Wisconsin, Wyoming';
return allStates.split(/, +/g).map(function (state) {
return {
value: state.toLowerCase(),
display: state
};
});
}
/**
* Create filter function for a query string
*/
function createFilterFor(query) {
var lowercaseQuery = angular.lowercase(query);
return function filterFn(state) {
return (state.value.indexOf(lowercaseQuery) === 0);
};
}
}
Здесь в функции Loadall(), мне нужно принимать значения из моей базы данных, которая возвращается из моего действия контроллера YII2. Это может быть accesed через URL Мои действия контроллера, как указано ниже
public function actionGetAllPackages()
{
$packages = \common\models\Packages::find()
->select('name')
->all();
$name = "";
foreach ($packages as $package)
{
$name = $name.', '.$package->name;
}
$name = substr($name, 2);
echo addslashes($name);
}
Как я могу принять значение распечатанный Att действия контроллера для угловой функции? Пожалуйста помоги . Iam с использованием YII2 и угловой в первый раз.
Заранее спасибо