Here's the link to the hasField method I forgot to paste
http://api.cakephp.org/2.4/class-Model.html#_hasField

So just to elaborate, in AppModel::beforeDelete() I check if the deleted
field exists, if so I update the deleted field and return false. Otherwise
I return true and let CakePHP do its thing.


On 26 July 2014 10:22, Stephen S <hellospeak...@gmail.com> wrote:

> If you want to do this with a behavior then you should look at the
> beforeDelete callback, you can update your field within this callback and
> then return false to automatically abort the delete (as per the book).
>
>
> http://book.cakephp.org/2.0/en/models/behaviors.html#ModelBehavior::beforeDelete
>
> You could also just write something like this in your AppModel to make it
> apply to all models, my applications use $this->hasField('deleted') to see
> if soft delete is supported with the model.
>
>
>
> On 26 July 2014 09:22, Sam Clauw <i...@bellewaerdefun.be> wrote:
>
>> I'll try to write my very first behavior that does a soft delete instead
>> of a hard delete. I've expanded my model with
>>
>> public $actsAs = array('SoftDelete');
>>
>>
>> and I've created the behavior "SoftDeleteBehavior.php" in
>> App/Model/Behavior:
>>
>>
>>
>>> <?php
>>> App::uses('ModelBehavior', 'Model');
>>> class SoftDeleteBehavior extends ModelBehavior
>>> {
>>>     function setup(Model $Model, $settings = array())
>>>     {
>>>
>>>     }
>>>
>>>     function delete(Model $Model, $id = null)
>>>     {
>>>         $Model->id = $id;
>>>
>>>         if ($Model->saveField('deleted', date('Y-m-d H:i:s'))) {
>>>             return true;
>>>         }
>>>         return false;
>>>     }
>>> }
>>
>>
>> However, when I try to delete something, the delete() method from my
>> behavior doesn't overwrite the normal one. What could cause this issue?
>>
>> --
>> Like Us on FaceBook https://www.facebook.com/CakePHP
>> Find us on Twitter http://twitter.com/CakePHP
>>
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "CakePHP" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to cake-php+unsubscr...@googlegroups.com.
>> To post to this group, send email to cake-php@googlegroups.com.
>> Visit this group at http://groups.google.com/group/cake-php.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
>
> --
> Kind Regards
>  Stephen Speakman
>



-- 
Kind Regards
 Stephen Speakman

-- 
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP

--- 
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to cake-php+unsubscr...@googlegroups.com.
To post to this group, send email to cake-php@googlegroups.com.
Visit this group at http://groups.google.com/group/cake-php.
For more options, visit https://groups.google.com/d/optout.

Reply via email to