fuel / orm

Fuel PHP Framework - Fuel v1.x ORM
http://fuelphp.com/docs/packages/orm/intro.html
151 stars 95 forks source link

on delete: Primary key on model Model_User cannot be changed. in fuel/packages/orm/classes/model.php #388

Closed webfacer closed 8 years ago

webfacer commented 8 years ago

This error appears on line 1187. I try to delete the credit from post using its ID from credit model to delete it. But when i am trying it the error occurs but record had been successful deleted.

Model_User:

<?php

class Model_Credit extends \Model_App
{
    protected static $_table_name   = 'credits';

    protected static $_properties = array(
        'id'            => array(
            'data_type' => 'int',
        ),
        'post_id'    => array(
            'data_type' => 'int',
        ),
        'user_id'    => array(
            'data_type' => 'int',
        ),
        'career_id'    => array(
            'data_type' => 'int',
        ),
        'created_at'    => array(
            'data_type' => 'int',
        ),
    );

    protected static $_belongs_to = array( 'post' );

    protected static $_has_one = array(
        'user'      => array(
            'key_from' => 'user_id',
            'model_to' => 'Model_User',
            'key_to' => 'id',
            'cascade_save' => false,
            'cascade_delete' => false,
        ),

        'career'    => array(
            'key_from' => 'career_id',
            'model_to' => 'Model_Career',
            'key_to' => 'id',
        ),
    );

}

and following action of Controller ( credits.php ):

    ....
    public function action_remove_credit( $id, $post_id )
    {
        try
        {
            $credits = Model_Credit::find( $id );
            $credits->delete();
            return \Fuel\Core\Response::redirect( 'admin/posts/edit/' . $post_id );

        }
        catch( Exeption $e )
        {
            return $e->getMessage();
        }
    }
    ...
webfacer commented 8 years ago

done it