小编M K*_*aid的帖子

如何在symfony路由中自动化函数名称?

以下是自定义捆绑包中定义的简单路由

my_admin_route:
    pattern:  /admin/{name}
    defaults: { _controller: NamespaceCustomBundle:CustomControl:login }
Run Code Online (Sandbox Code Playgroud)

上面的路由代码将调用CustomControlController方法loginAction()我的问题是我如何自动化路由中的函数名称,就像每个函数一样,我没有再次定义路由应该有一个路由并自动调用函数作为定义的参数{name}在路线如下

my_admin_route:
    pattern:  /admin/{name}
    defaults: { _controller: NamespaceCustomBundle:CustomControl:{name} }
Run Code Online (Sandbox Code Playgroud)

php symfony symfony-2.3 symfony-routing

6
推荐指数
2
解决办法
473
查看次数

如何更新Mysql中的一系列记录

我有一个表,我正在尝试更新范围记录,我尝试了多种方法,没有运气.这是我尝试过的脚本.

UPDATE va_categories SET is_showing = '1' WHERE category_id IS BETWEEN 1076 AND 1412;
UPDATE va_categories SET is_showing = '1' WHERE category_id > '1076' < '1412';
Run Code Online (Sandbox Code Playgroud)

category_id是一个Integer字段.

我很感激帮助,在这里敲我的头.

mysql

6
推荐指数
1
解决办法
2万
查看次数

Codeigniter使用dbforge创建ENUM字段

我创建了一个ENUM字段,这是我的代码:

$field['test'] = array(
  'type' => 'ENUM',
  'constraint' => array('a','b','c'),
  'default'=> "a"
);
$this->dbforge->add_field($field);
$this->dbforge->create_table('demo'); 
Run Code Online (Sandbox Code Playgroud)

我收到一条消息:

错误号码:1064

您的SQL语法有错误; 检查与MySQL服务器版本对应的手册,以便在'Array'附近使用正确的语法DEFAULT'a'NOTE NULL)DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci'在第2行

CREATE TABLE ci_demo(testENUM(Array)DEFAULT'a'NOT NULL)DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

请帮帮我,非常感谢你.

php mysql enums codeigniter dbforge

6
推荐指数
1
解决办法
7114
查看次数

每个ID的SELECT MAX DATE

我有两个电话叫"tipo_hh"和"tipo_hh_historial".

我需要在两个表之间建立连接,其中"id"在两个表中都是相同的.但我需要为表格"tipo_hh"中的每个"id"选择表"tipo_hh_historial"上的"valor",其条件是带有"fecha_cambio"和"hora_cambio"maxima的记录.

"id"是表"tipo_hh"中的主键和自动增量

像这样的东西.

这是表"tipo_hh"

id  nombre
1   Reefer
2   Lavados
3   Dry
4   Despacho
Run Code Online (Sandbox Code Playgroud)

这是表"tipo_hh_historial"

id  valor   fecha_cambio    hora_cambio
1   1.50    27/06/2013  19:15:05
1   5.50    27/06/2013  19:19:32
1   5.50    27/06/2013  19:20:06
1   2.50    27/06/2013  21:03:30
2   4.66    27/06/2013  19:15:17
2   3.00    27/06/2013  19:20:22
3   5.00    27/06/2013  19:20:32
4   1.50    27/06/2013  19:20:50
Run Code Online (Sandbox Code Playgroud)

我需要这个:

id  nombre     valor
1   Reefer     2.50
2   Lavados    3.00
3   Dry        5.00
4   Despacho   1.50
Run Code Online (Sandbox Code Playgroud)

mysql join max greatest-n-per-group

5
推荐指数
1
解决办法
7273
查看次数

具有多个分组或顺序的mysql查询优化

更新:表和索引定义

desc activities;x
+----------------+--------------+------+-----+---------+  
| Field          | Type         | Null | Key | Default |  
+----------------+--------------+------+-----+---------+  
| id             | int(11)      | NO   | PRI | NULL    |  
| trackable_id   | int(11)      | YES  | MUL | NULL    |  
| trackable_type | varchar(255) | YES  |     | NULL    |  
| owner_id       | int(11)      | YES  | MUL | NULL    |  
| owner_type     | varchar(255) | YES  |     | NULL    |  
| key            | varchar(255) | YES  |     | NULL    |  
| …
Run Code Online (Sandbox Code Playgroud)

mysql sql query-optimization

5
推荐指数
1
解决办法
327
查看次数

MySQL - 如何将变量用作列名

我想使用注册表作为列名,但注册表是可变的,我不知道它何时更改.

例:

Config (field) = 'Medicine'
FieldContent (another field) = 'Remedy name'
Run Code Online (Sandbox Code Playgroud)

想做这个:

Medicine(使用Config的内容作为列名)='Remedy Name'(作为注册表)

我试过了什么?

SET @CONFIG = SELECT CONFIG;

SELECT FIELDCONTENT AS @CONFIG FROM TABLENAME;
Run Code Online (Sandbox Code Playgroud)

MySql说我不能使用变量作为列名.还有其他方法吗?

实际的Config Content Medicine RemedyName

通缉医学
补救名称

谢谢!

mysql variables dynamic

5
推荐指数
1
解决办法
7235
查看次数

选择非重复记录

我有一张约有5000万条记录的表格.

表结构如下所示,calleridcall_start字段都被编入索引.

id - callerid - call_start

我想选择他们的call_start大于'2013-12-22'的所有记录,并且在整个表格中'callerid'在'2013-12-22'之前没有重复.

我使用过这样的东西:

SELECT DISTINCT 
  ca.`callerid` 
FROM
  call_archives AS ca 
WHERE ca.`call_start` >= '2013-12-22' 
  AND ca.`callerid` NOT IN 
  (SELECT DISTINCT 
    ca.`callerid` 
  FROM
    call_archives AS ca 
  WHERE ca.`call_start` < '2013-12-21')
Run Code Online (Sandbox Code Playgroud)

但这非常慢,任何建议都非常感激.

mysql sql performance select not-exists

5
推荐指数
1
解决办法
88
查看次数

CodeIgniter在哪里和sql查询语句一样

我试图在codeigniter上执行此sql查询

SELECT* FROM person WHERE type = 'staff' AND description LIKE 'university%'
Run Code Online (Sandbox Code Playgroud)

我不确定它是否正确......

$this->db->get_where('person' , array('type'=>'staff'))
         ->like('description','university%')
         ->result_array();
Run Code Online (Sandbox Code Playgroud)

有没有人对我的案子有所了解?提前致谢 ...

php mysql sql codeigniter

5
推荐指数
1
解决办法
2万
查看次数

如何在mysql中设置文本类型的默认值

CREATE TABLE IF NOT EXISTS `te` (
  `id` int(30) NOT NULL,
  `name` text NOT NULL,
  `address` text NOT NULL,
  `Aboutus` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Run Code Online (Sandbox Code Playgroud)

这里的表'te'包含4个字段id,name,address,Aboutus,Aboutus是可选的,意味着我如何通过phpmyadmin sql将默认文本更新为db中的Profile

mysql sql

5
推荐指数
1
解决办法
1万
查看次数

在奏鸣曲管理员上导出一对多的关系

我试图在网上搜索这个问题的一个明确的解决方案,但那里的新手确实没有具体的解决方案.

我有一个条目有很多EntryListing.在我的EntryAdmin listMapper中,我可以轻松地按语句列出条目

->add('listings')
Run Code Online (Sandbox Code Playgroud)

它只返回EntryListing __toString()函数中定义的列表.

有没有办法通过覆盖getExportFields()函数导出数据时实现相同的方法,如下所示:

public function getExportFields()
{
    return array('name','tel','email','deviceType','postedOn','createdAt','facilitator','listings');
}
Run Code Online (Sandbox Code Playgroud)

非常感谢您的帮助

one-to-many symfony symfony-sonata sonata-admin sonata

5
推荐指数
1
解决办法
1921
查看次数