【问题标题】:datatable into cakephp join tables数据表到 cakephp 连接表
【发布时间】:2013-07-29 17:57:39
【问题描述】:

我的数据表和脚本有问题 http://datatables.net/development/server-side/php_cake 给 cakephp。 我使用了很多次,但没有我必须使用加入和服务器响应我

MySQL 错误:1052。

问题出在这一行:

$sTable = "`clients` AS c JOIN users AS u ON (c.user_id = u.id)";

当我打印所有查询并将其粘贴到 phpmyadmin 中时,一切正常,但蛋糕出错。

我生成的 SELECT :

SELECT SQL_CALC_FOUND_ROWS c.id、c.name、c.nip、c.adress、c.tel、 c.tel2、c.email、c.created、c.id FROM clients c join users u ON(c.user_id = u.id)

        ORDER BY   c.id asc
        LIMIT 0, 10

@编辑

我修改了我的脚本,现在它生成了如下内容:

选择 SQL_CALC_FOUND_ROWS cidcnamecnipcadressctelctel2c.email,c.created,c.id FROM clients AS c 加入 users AS u ON c.user_id = u.id

        ORDER BY   `c`.`name` asc
        LIMIT 0, 10

但是还是不行。 (我在前缀和列名之前使用了 char '`'。)

【问题讨论】:

  • 发布完整的错误和 SQL。
  • 问题出在它自己的查询中。查询中有一个不明确的字段。你能发布完整的查询吗?
  • 我更改了我的第一篇文章。我添加了所有生成的查询。我无法得到所有 mysql 错误,因为我只看到 MySQL 错误:1052。

标签: php mysql cakephp datatable left-join


【解决方案1】:

你需要创建一个有关系的视图!!

  1. 在 MySql 中创建 VIEW:

    CREATE VIEW 'the_view' AS
        SELECT 
            a.id, 
            a.num_factura_proveedor, 
            b.nombre_comercial 
        FROM compras a  
            INNER JOIN terceros b ON a.tercero_id = b.id
    
  2. 在服务器端脚本:

    $sTable = "the_view";
    
    //the columns of the view
    
    $aColumns = array('id' , 'num_factura_proveedor', 'nombre_comercial');
    
    $sIndexColumn = "id";
    

【讨论】:

    猜你喜欢
    • 2012-09-24
    • 1970-01-01
    • 2011-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-06
    • 2023-04-02
    相关资源
    最近更新 更多