/**
* Overridden so sensible schema handling can be used for:
* Pivot objects and Eloquent Collections. Anything else
* can be handled normally.
*
* @return array
*/
protected function analyzeCurrentData()
{
$relationship = $this->stack->end()->getRelationship();
$data = $relationship->isShowData() === true ? $relationship->getData() : null;
if ($data instanceof Collection) {
$firstItem = null;
$isEmpty = count($data) === 0;
$traversableData = $data;
if ($isEmpty === false) {
$firstItem = $data->first();
}
if ($firstItem === null) {
$traversableData = [];
}
return [$isEmpty, true, $traversableData];
} elseif ($data instanceof Pivot) {
return [true, false, []];
}
return parent::analyzeCurrentData();
}