Quantcast

Simple deleteAll() yet I am stuck..

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Simple deleteAll() yet I am stuck..

sathyashrayan
This is the query for deleting multiple row.

$query = "DELETE FROM users_modules WHERE projects_id='$projects_id'
AND project_modules_id='$projectModuleID'";

I tried this

$delCond['conditions'] = array('projects_id'=>$projects_id);
$delCond['conditions'] = array('AND'=>array('project_modules_id'=>
$projectModuleID));
$this->ProjectModule->UsersModule->deleteAll($delCond);

But the delete query is not working. It shows some mysql error as a
select rather than delete.

I am executing  this in projects_module_controller.

--
Our newest site for the community: CakePHP Video Tutorials http://tv.cakephp.org 
Check out the new CakePHP Questions site http://ask.cakephp.org and help others with their CakePHP related questions.


To unsubscribe from this group, send email to
[hidden email] For more options, visit this group at http://groups.google.com/group/cake-php
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Simple deleteAll() yet I am stuck..

Thomas Ploch
Hello,

1.) When posting a problem to the group, especially database related problems, posting the "some mysql error" is vital for us to help you.

2.) You are overwriting the conditions array in line 2 of your example:
Try this instead (the 'AND' behavior is the default in cakephp, so you can safely ommit it):

$delCond['conditions'] = array(
    'projects_id'=>$projects_id,
    'project_modules_id'=> $projectModuleID
)

Kind regards
Thomas

On 04.10.2011 13:31, sathyashrayan wrote:
This is the query for deleting multiple row.

$query = "DELETE FROM users_modules WHERE projects_id='$projects_id'
AND project_modules_id='$projectModuleID'";

I tried this

$delCond['conditions'] = array('projects_id'=>$projects_id);
$delCond['conditions'] = array('AND'=>array('project_modules_id'=>
$projectModuleID));
$this->ProjectModule->UsersModule->deleteAll($delCond);

But the delete query is not working. It shows some mysql error as a
select rather than delete.

I am executing  this in projects_module_controller.


--
Our newest site for the community: CakePHP Video Tutorials http://tv.cakephp.org
Check out the new CakePHP Questions site http://ask.cakephp.org and help others with their CakePHP related questions.
 
 
To unsubscribe from this group, send email to
[hidden email] For more options, visit this group at http://groups.google.com/group/cake-php
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Simple deleteAll() yet I am stuck..

sathyashrayan
Thanks for the answer.. I did try your solution

$delCond['conditions'] = array('projects_id'=>
$projects_id,'project_modules_id'=>$projectModuleID);
$this->ProjectModule->UsersModule->deleteAll($delCond);

I am getting these error..

SQL Error: 1054: Unknown column 'conditions' in 'where clause' [CORE
\cake\libs\model\datasources\dbo_source.php, line 684]

Query: SELECT `UsersModule`.`id` FROM `users_modules` AS `UsersModule`
LEFT JOIN `project_modules` AS `ProjectModules` ON
(`UsersModule`.`project_modules_id` = `ProjectModules`.`id`) LEFT JOIN
`users` AS `Users` ON (`UsersModule`.`users_id` = `Users`.`id`) WHERE
conditions IN ('39', '27')

On Oct 4, 5:06 pm, Thomas Ploch <[hidden email]> wrote:

> Hello,
> 1.) When posting a problem to the group, especially database related problems, posting the "some mysql error" is vital for us to help you.
> 2.) You are overwriting the conditions array in line 2 of your example:
> Try this instead (the 'AND' behavior is the default in cakephp, so you can safely ommit it):
> $delCond['conditions'] = array(
>     'projects_id'=>$projects_id,
>     'project_modules_id'=> $projectModuleID
> )
> Kind regards
> Thomas
> On 04.10.2011 13:31, sathyashrayan wrote:This is the query for deleting multiple row. $query = "DELETE FROM users_modules WHERE projects_id='$projects_id' AND project_modules_id='$projectModuleID'"; I tried this $delCond['conditions'] = array('projects_id'=>$projects_id); $delCond['conditions'] = array('AND'=>array('project_modules_id'=> $projectModuleID)); $this->ProjectModule->UsersModule->deleteAll($delCond); But the delete query is not working. It shows some mysql error as a select rather than delete. I am executing this in projects_module_controller.

--
Our newest site for the community: CakePHP Video Tutorials http://tv.cakephp.org 
Check out the new CakePHP Questions site http://ask.cakephp.org and help others with their CakePHP related questions.


To unsubscribe from this group, send email to
[hidden email] For more options, visit this group at http://groups.google.com/group/cake-php
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Simple deleteAll() yet I am stuck..

Thomas Ploch
http://book.cakephp.org/de/view/1038/deleteAll

If you look at the method definition, you see that the conditions don't have to be wrapped into an array with an 'conditions' key.

$this->ProjectModule->UsersModule->deleteAll($delCond['conditions']);

should do the trick.

Kind regards
Thomas

On 04.10.2011 15:47, sathyashrayan wrote:
Thanks for the answer.. I did try your solution

$delCond['conditions'] = array('projects_id'=>
$projects_id,'project_modules_id'=>$projectModuleID);
$this->ProjectModule->UsersModule->deleteAll($delCond);

I am getting these error..

SQL Error: 1054: Unknown column 'conditions' in 'where clause' [CORE
\cake\libs\model\datasources\dbo_source.php, line 684]

Query: SELECT `UsersModule`.`id` FROM `users_modules` AS `UsersModule`
LEFT JOIN `project_modules` AS `ProjectModules` ON
(`UsersModule`.`project_modules_id` = `ProjectModules`.`id`) LEFT JOIN
`users` AS `Users` ON (`UsersModule`.`users_id` = `Users`.`id`) WHERE
conditions IN ('39', '27')

On Oct 4, 5:06 pm, Thomas Ploch <[hidden email]> wrote:
Hello,
1.) When posting a problem to the group, especially database related problems, posting the "some mysql error" is vital for us to help you.
2.) You are overwriting the conditions array in line 2 of your example:
Try this instead (the 'AND' behavior is the default in cakephp, so you can safely ommit it):
$delCond['conditions'] = array(
    'projects_id'=>$projects_id,
    'project_modules_id'=> $projectModuleID
)
Kind regards
Thomas
On 04.10.2011 13:31, sathyashrayan wrote:This is the query for deleting multiple row. $query = "DELETE FROM users_modules WHERE projects_id='$projects_id' AND project_modules_id='$projectModuleID'"; I tried this $delCond['conditions'] = array('projects_id'=>$projects_id); $delCond['conditions'] = array('AND'=>array('project_modules_id'=> $projectModuleID)); $this->ProjectModule->UsersModule->deleteAll($delCond); But the delete query is not working. It shows some mysql error as a select rather than delete. I am executing this in projects_module_controller.

    

--
Our newest site for the community: CakePHP Video Tutorials http://tv.cakephp.org
Check out the new CakePHP Questions site http://ask.cakephp.org and help others with their CakePHP related questions.
 
 
To unsubscribe from this group, send email to
[hidden email] For more options, visit this group at http://groups.google.com/group/cake-php
Loading...