Server : LiteSpeed System : Linux server 3.10.0-1160.90.1.el7.x86_64 #1 SMP Thu May 4 15:21:22 UTC 2023 x86_64 User : alsaif ( 1057) PHP Version : 7.4.33 Disable Function : show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname Directory : /home/alsaif/domains/alsaif.group/private_html/libraries/fof40/Model/DataModel/Relation/ |
<?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);
}
}
}