将日光浴室与 Solr 一起使用
Using Solarium with Solr
我正在尝试将 Solrium (NelmioSolariumBundle) 与 Solr 一起使用,但出现以下错误消息:
Service "solarium.client" not found: even though it exists in the app's container, the container
inside "App\Controller\solariumController" is a smaller service locator that only knows about the
"doctrine", "form.factory", "http_kernel", "parameter_bag", "request_stack", "router",
"security.authorization_checker", "security.csrf.token_manager", "security.token_storage", "session"
and "twig" services. Try using dependency injection instead.
这是我的控制器
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Routing\Annotation\Route;
class solariumController extends AbstractController
{
/**
* @Route ("/solariums", name="solariums")
*/
public function solariumSearch(){
$client = $this->get('solarium.client');
$select = $client->createSelect();
$select->setQuery('brandon');
$results = $client->select($select);
return $this->render('pages/solarium.html.twig',[
'$results'
]);
}
}
你有什么想法吗?
谢谢!
在构造函数中注入客户端:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Routing\Annotation\Route;
class solariumController extends AbstractController
{
/** @var \Solarium\Client */
private $client;
public function __construct(\Solarium\Client $client) {
$this->client = $client;
}
/**
* @Route ("/solariums", name="solariums")
*/
public function solariumSearch() {
$select = $this->client->createSelect();
$select->setQuery('brandon');
$results = $this->client->select($select);
return $this->render('pages/solarium.html.twig',[
'$results'
]);
}
}
我正在尝试将 Solrium (NelmioSolariumBundle) 与 Solr 一起使用,但出现以下错误消息:
Service "solarium.client" not found: even though it exists in the app's container, the container
inside "App\Controller\solariumController" is a smaller service locator that only knows about the
"doctrine", "form.factory", "http_kernel", "parameter_bag", "request_stack", "router",
"security.authorization_checker", "security.csrf.token_manager", "security.token_storage", "session"
and "twig" services. Try using dependency injection instead.
这是我的控制器
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Routing\Annotation\Route;
class solariumController extends AbstractController
{
/**
* @Route ("/solariums", name="solariums")
*/
public function solariumSearch(){
$client = $this->get('solarium.client');
$select = $client->createSelect();
$select->setQuery('brandon');
$results = $client->select($select);
return $this->render('pages/solarium.html.twig',[
'$results'
]);
}
}
你有什么想法吗?
谢谢!
在构造函数中注入客户端:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Routing\Annotation\Route;
class solariumController extends AbstractController
{
/** @var \Solarium\Client */
private $client;
public function __construct(\Solarium\Client $client) {
$this->client = $client;
}
/**
* @Route ("/solariums", name="solariums")
*/
public function solariumSearch() {
$select = $this->client->createSelect();
$select->setQuery('brandon');
$results = $this->client->select($select);
return $this->render('pages/solarium.html.twig',[
'$results'
]);
}
}