我有一个表格用于我的类别,每个类别都有和id,name和parent_id.
Select IF(a.parent_id IS NULL, a.name, CONCAT((SELECT b.name FROM category b WHERE b.id = a.parent_id), " / ", a.name) ) as n, a.id, a.parent_id
FROM category a
ORDER BY n
Run Code Online (Sandbox Code Playgroud)
我想将它转换为我的Doctrine2查询生成器
$em = $this->getDoctrine()->getEntityManager();
$qb = $em->createQueryBuilder();
$q = $qb
->select("c.id")
->addSelect(
"IF(c.parent_id IS NULL, c.name, CONCAT((" .
$em->createQueryBuilder()
->select("t.name")
->from("MyBundle:Category", "t")
->getQuery()->getDQL() .
"), \" / \", c.name) )"
)
->from("MyBundle:Category", "c");
echo $q->getQuery()->getSQL();
exit;
Run Code Online (Sandbox Code Playgroud)
类似的东西,但我不能使用IF,和CONCAT.
我正在使用罗盘来生成精灵图像.我有很多精灵图标,它产生了太多的CSS代码(背景图像的类选择器太多).所以让我们分析罗盘精灵代码:
你可以在这里看到http://compass-style.org/help/tutorials/spriting/
@import "my-icons/*.png";
@include all-my-icons-sprites;
Run Code Online (Sandbox Code Playgroud)
会产生:
.my-icons-sprite,
.my-icons-delete,
.my-icons-edit,
.my-icons-new,
.my-icons-save { background: url('/images/my-icons-s34fe0604ab.png') no-repeat; }
.my-icons-delete { background-position: 0 0; }
.my-icons-edit { background-position: 0 -32px; }
.my-icons-new { background-position: 0 -64px; }
.my-icons-save { background-position: 0 -96px; }
Run Code Online (Sandbox Code Playgroud)
如果你看到我用这种方式: <div class="my-icons-sprite my-icons-delete"></div>
我希望Compass生成这段代码:
.my-icons-sprite { background: url('/images/my-icons-s34fe0604ab.png') no-repeat; }
.my-icons-delete { background-position: 0 0; }
.my-icons-edit { background-position: 0 -32px; }
.my-icons-new { background-position: 0 -64px; }
.my-icons-save { background-position: 0 -96px; }
Run Code Online (Sandbox Code Playgroud)
除了每个新图像,它还会添加背景和背景位置.引起太多选择者.
有配置吗?
谢谢
我有一个我创建的服务(DependencyInjection),我在我的控制器上使用它:
$this->get("service_name")->someMethod()
Run Code Online (Sandbox Code Playgroud)
我想知道如何在我的Form类上使用它.
这是我的示例形式的类:
namespace Company\SampleBundle\Form\Type;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilder;
class AnswerType extends AbstractType {
public function buildForm(FormBuilder $builder, array $options) {
// I want use: $this->get("service") here, how can i use that?
$builder->add('answer', 'textarea');
}
public function getName() {
return 'answer';
}
public function getDefaultOptions(array $options) {
return array(
'data_class' => 'Company\SampleBundle\Entity\Answer',
);
}
}Run Code Online (Sandbox Code Playgroud)
谢谢
symfony ×2
compass-sass ×1
css ×1
doctrine ×1
doctrine-orm ×1
forms ×1
mysql ×1
sass ×1
service ×1
sprite ×1