我正在尝试使用doctrine创建加权搜索.这是我在直接sql中的方式.我想知道如何将它转换为我们的doctrine2方法.我正在尝试使用symfony2进行此搜索.
此外,如果有更好的方法,我愿意这样做.谢谢.
"SELECT *,
IF(`name` LIKE "%$searchterm%", 20,
IF(`name` LIKE "%$searchterm%", 10, 0)) +
IF(`address` LIKE "%$searchterm%", 5, 0) +
IF(`city` LIKE "%$searchterm%", 1, 0)
AS `weight`
FROM `table_name`
WHERE
(`name` LIKE "%$searchterm%" OR
`address` LIKE "%$searchterm%" OR
`city` LIKE "%$searchterm%")
ORDER BY `weight` DESC
LIMIT 20"
Run Code Online (Sandbox Code Playgroud) 背景:
我正在symfony上编写一个RESTful API.我希望客户端能够使用内容类型application/json发布到url并发布控制器操作正在查找的表单的json对象.
我正在使用一个非常基本的控制器设置.让我们假设为了演示目的,我试图验证一个简单的用户名密码组合.
public function loginAction( Request $request )
{
$user = new ApiUser();
$form = $this->createForm(new ApiUserType(), $user);
if ( "POST" == $request->getMethod() ) {
$form->bindRequest($request);
if ( $form->isValid() ) {
$em = $this->getDoctrine()->getEntityManager();
$repo = $this->getDoctrine()->getRepository('ApiBundle:ApiUser');
$userData = $repo->findOneByUsername($user->getUsername());
if ( is_object($userData) ) {
/** do stuff for authenticating **/
}
else{
return new Response(json_encode(array('error'=>'no user by that username found')));
}
else{
return new Response(json_encode(array('error'=>'invalid form')));
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在问题,我已经尝试过var_dumping这个直到奶牛回家,这是因为symfony不想拿应用程序/ json内容体并使用该数据来填充表单数据.
表格名称:api_apiuser
字段:用户名,密码
处理此类任务的最佳方法是什么.只要我能做到这一点,我愿意接受建议.感谢您抽出宝贵时间.
Composer是一个PHP包管理器.我在这里查看了文档:http://getcomposer.org/
我想创建一个自定义类型"symfony2-assets",并将它们安装到"web"目录而不是"vendor"目录.
我知道我可以将配置密钥"vendor-dir"更改为web来完成此操作但是还安装了所有其他软件包,我需要在供应商目录中使用这些软件包.
如果有人有一个很好的教程,他们已经遇到过这个或知道如何做,我会非常感激.