преобразование элементов массива в настраиваемую строку с использованием PHP-Symfony - PullRequest
0 голосов
/ 22 ноября 2018

Я пытаюсь передать элементы массива в файл ветки.После его передачи HTML-код (в js) должен выглядеть следующим образом:

var states = ['car', 'van', 'bus']

Для этого я использовал следующий код, используя php symfony

/**
 * @Route("/test", name="test")
 */
public function testAction(Request $request)
{
    $products=$this->getDoctrine()->getRepository(products::class)->findAll();
    $pr_name=array();
    foreach ($products as $product){
        $name=$product->getName();
        array_push($pr_name,$name);

    }

    $pr_name2="'".implode("','",$pr_name)."'";
    dump($pr_name2);
    exit;

    return $this->render('typeahead.html.twig', array(
        'pr_name'=>$pr_name2,
    ));

}

My Twig file

<script>
 var substringMatcher = function(strs) {
    return function findMatches(q, cb) {
        var matches, substringRegex;

        // an array that will be populated with substring matches
        matches = [];

        // regex used to determine if a string contains the substring `q`
        substrRegex = new RegExp(q, 'i');

        // iterate through the pool of strings and for any string that
        // contains the substring `q`, add it to the `matches` array
        $.each(strs, function(i, str) {
            if (substrRegex.test(str)) {
                matches.push(str);
            }
        });

        cb(matches);
    };
};

var states = [{{ pr_name }}]

$('#the-basics .typeahead').typeahead({
        hint: true,
        highlight: true,
        minLength: 1
    },
    {
        name: 'states',
        source: substringMatcher(states)
    });

Но я получаю вот это Result

Как это исправить?

1 Ответ

0 голосов
/ 22 ноября 2018

Попробуйте заменить

var states = [{{ pr_name }}]

на

var states = [{{ pr_name|raw }}]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...