hi , hi ave this query builder for a datatable (server side) :
Code:
$records = $macchina_model->select('
macchina.id
, macchina.seriale
, macchina.codice_macchina
, documento_arrivo.numero as num_documento_arrivo
, documento_partenza.numero as num_documento_partenza
, clienti.nome as nome_cliente
, macchina.created_at
, macchina.updated_at
' )
->join('documento_arrivo','macchina.id_documento_arrivo = documento_arrivo.id','left')
->join('documento_partenza','macchina.id_documento_partenza = documento_partenza.id','left')
->join('clienti','macchina.id_clienti = clienti.id','left')
->orLike('macchina.seriale', $searchValue)
->orLike('macchina.codice_macchina', $searchValue)
->orLike('documento_arrivo.numero', $searchValue)
->orLike('documento_partenza.numero', $searchValue)
->orLike('clienti.nome', $searchValue)
->orLike('macchina.created_at', $searchValue)
->orLike('macchina.updated_at', $searchValue)
->orderBy($columnname,$columnSortOrder)
->findAll($rowperpage, $start);
Ho can i insert round brackets at or like condition ? because normally it insert macchina.deleted at is null but it control the last liko and macchina.deleted.at.
now rwturn this :
Code:
SELECT
`macchina`.`id`,
`macchina`.`seriale`,
`macchina`.`codice_macchina`,
`documento_arrivo`.`numero` as `num_documento_arrivo`,
`documento_partenza`.`numero` as `num_documento_partenza`,
`clienti`.`nome` as `nome_cliente`,
`macchina`.`created_at`,
`macchina`.`updated_at`
FROM
`macchina`
LEFT JOIN `documento_arrivo` ON `macchina`.`id_documento_arrivo` = `documento_arrivo`.`id`
LEFT JOIN `documento_partenza` ON `macchina`.`id_documento_partenza` = `documento_partenza`.`id`
LEFT JOIN `clienti` ON `macchina`.`id_clienti` = `clienti`.`id`
WHERE
`macchina`.`seriale` LIKE '%%' ESCAPE '!'
OR `macchina`.`codice_macchina` LIKE '%%' ESCAPE '!'
OR `documento_arrivo`.`numero` LIKE '%%' ESCAPE '!'
OR `documento_partenza`.`numero` LIKE '%%' ESCAPE '!'
OR `clienti`.`nome` LIKE '%%' ESCAPE '!'
OR `macchina`.`created_at` LIKE '%%' ESCAPE '!'
OR `macchina`.`updated_at` LIKE '%%' ESCAPE '!'
AND `macchina`.`deleted_at` IS NULL
ORDER BY
`seriale` ASC
LIMIT
100
i would :
Code:
SELECT
`macchina`.`id`,
`macchina`.`seriale`,
`macchina`.`codice_macchina`,
`documento_arrivo`.`numero` as `num_documento_arrivo`,
`documento_partenza`.`numero` as `num_documento_partenza`,
`clienti`.`nome` as `nome_cliente`,
`macchina`.`created_at`,
`macchina`.`updated_at`
FROM
`macchina`
LEFT JOIN `documento_arrivo` ON `macchina`.`id_documento_arrivo` = `documento_arrivo`.`id`
LEFT JOIN `documento_partenza` ON `macchina`.`id_documento_partenza` = `documento_partenza`.`id`
LEFT JOIN `clienti` ON `macchina`.`id_clienti` = `clienti`.`id`
WHERE
( `macchina`.`seriale` LIKE '%%' ESCAPE '!'
OR `macchina`.`codice_macchina` LIKE '%%' ESCAPE '!'
OR `documento_arrivo`.`numero` LIKE '%%' ESCAPE '!'
OR `documento_partenza`.`numero` LIKE '%%' ESCAPE '!'
OR `clienti`.`nome` LIKE '%%' ESCAPE '!'
OR `macchina`.`created_at` LIKE '%%' ESCAPE '!'
OR `macchina`.`updated_at` LIKE '%%' ESCAPE '!')
AND `macchina`.`deleted_at` IS NULL
ORDER BY
`seriale` ASC
LIMIT
100