primo commit
This commit is contained in:
46
libraries/fof40/Model/DataModel/Relation/HasOne.php
Normal file
46
libraries/fof40/Model/DataModel/Relation/HasOne.php
Normal file
@ -0,0 +1,46 @@
|
||||
<?php
|
||||
/**
|
||||
* @package FOF
|
||||
* @copyright Copyright (c)2010-2022 Nicholas K. Dionysopoulos / Akeeba Ltd
|
||||
* @license GNU General Public License version 3, or later
|
||||
*/
|
||||
|
||||
namespace FOF40\Model\DataModel\Relation;
|
||||
|
||||
defined('_JEXEC') || die;
|
||||
|
||||
use FOF40\Model\DataModel;
|
||||
use FOF40\Model\DataModel\Collection;
|
||||
|
||||
/**
|
||||
* HasOne (straight 1-to-1) relation: this model is a parent which has exactly one child in the foreign table
|
||||
*
|
||||
* For example, parentModel is Users and foreignModel is Phones. Each uses has exactly one Phone.
|
||||
*/
|
||||
class HasOne extends HasMany
|
||||
{
|
||||
/**
|
||||
* Get the relation data.
|
||||
*
|
||||
* If you want to apply additional filtering to the foreign model, use the $callback. It can be any function,
|
||||
* static method, public method or closure with an interface of function(DataModel $foreignModel). You are not
|
||||
* supposed to return anything, just modify $foreignModel's state directly. For example, you may want to do:
|
||||
* $foreignModel->setState('foo', 'bar')
|
||||
*
|
||||
* @param callable $callback The callback to run on the remote model.
|
||||
* @param Collection $dataCollection
|
||||
*
|
||||
* @return Collection|DataModel
|
||||
*/
|
||||
public function getData($callback = null, Collection $dataCollection = null)
|
||||
{
|
||||
if (is_null($dataCollection))
|
||||
{
|
||||
return parent::getData($callback, $dataCollection)->first();
|
||||
}
|
||||
else
|
||||
{
|
||||
return parent::getData($callback, $dataCollection);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user