Welcome, Guest
Username: Password: Remember me

TOPIC: fork table

fork table 11 Sep 2013 12:38 #11060

  • etc
  • etc's Avatar
  • Offline
  • Premium Member
  • Posts: 132
  • Thank you received: 19
  • Karma: 7
Hello,

when I tried to fork a table from table folder in backend it gives me error
Fatal error: Call to a member function getTableColumns() on a non-object in /hosting/www/mydomain/libraries/joomla/table/table.php on line 188

So I had to change the origin.
The administrator has disabled public write access.

fork table 11 Sep 2013 13:14 #11062

  • admin
  • admin's Avatar
  • Offline
  • Administrator
  • Chef
  • Posts: 3711
  • Thank you received: 987
  • Karma: 140
Can you please explain better your fork.
Coding is now a piece of cake
The administrator has disabled public write access.

fork table 11 Sep 2013 21:53 #11068

  • etc
  • etc's Avatar
  • Offline
  • Premium Member
  • Posts: 132
  • Thank you received: 19
  • Karma: 7
administrator/components/com_mtraining/tables/group.php
class MtrainingCkTableGroup extends MtrainingClassTable
{
	/**
	* Constructor
	*
	* @access	public
	* @param	object	&$db	Database connector object
	* @param	string	$tbl	Table name
	* @param	string	$key	Primary key
	* @return	void
	*/
	public function __construct(&$db, $tbl = '#__training_groups', $key = 'id')
	{
		parent::__construct($tbl, $key, $db);
	}


}

I put the code above to fork
administrator/components/com_mtraining/fork/tables/group.php
class MtrainingTableGroup extends MtrainingCkTableGroup
{
	/**
	* Constructor
	*
	* @access	public
	* @param	object	&$db	Database connector object
	* @param	string	$tbl	Table name
	* @param	string	$key	Primary key
	* @return	void
	*/
	public function __construct(&$db, $tbl = '#__training_groups', $key = 'id')
	{
		parent::__construct($tbl, $key, $db);
	}

}

I did not change anything in code in fork folder, just copy the origin. But does not work
The administrator has disabled public write access.

fork table 19 Sep 2013 13:08 #11127

  • admin
  • admin's Avatar
  • Offline
  • Administrator
  • Chef
  • Posts: 3711
  • Thank you received: 987
  • Karma: 140
be careful with 'parent', 'self' keywords in forks.

parent of your fork is your original generated.
So, if you want to execute the original :
class MtrainingTableGroup extends MtrainingCkTableGroup
{
	/**
	* Constructor
	*/
	public function __construct(&$db, $tbl = '#__training_groups', $key = 'id')
	{
		parent::__construct($db, $tbl, $key);  //HERE declaration should be the same
	}

}

If you do not want :
class MtrainingTableGroup extends MtrainingCkTableGroup
{
	/**
	* Constructor
	*/
	public function __construct(&$db, $tbl = '#__training_groups', $key = 'id')
	{
		parent::parent::__construct($tbl, $key, $db);  //HERE call to the parent of original
	}

}

That's it.
Coding is now a piece of cake
The administrator has disabled public write access.
The following user(s) said Thank You: etc
Time to create page: 0.073 seconds

Get Started