Merge pull request #77 from ukautz/feature-polymorphic

Added property methods for polymorphic relations
This commit is contained in:
Barry vd. Heuvel
2014-04-22 14:29:06 +02:00
@@ -287,14 +287,14 @@ class ModelsCommand extends Command {
$begin = strpos($code, 'function(');
$code = substr($code, $begin, strrpos($code, '}') - $begin + 1);
foreach(array('hasMany', 'belongsToMany', 'hasOne', 'belongsTo') as $relation){
foreach(array('hasMany', 'belongsToMany', 'hasOne', 'belongsTo', 'morphTo', 'morphMany', 'morphToMany') as $relation){
$search = '$this->'.$relation.'(';
if($pos = stripos($code, $search)){
$code = substr($code, $pos + strlen($search));
$arguments = explode(',', substr($code, 0, stripos($code, ')')));
//Remove quotes, ensure 1 \ in front of the model
$returnModel = "\\".ltrim(trim($arguments[0], " \"'"), "\\");
if($relation === "belongsToMany" or $relation === 'hasMany'){
if($relation === "belongsToMany" or $relation === 'hasMany' or $relation === 'morphMany' or $relation === 'morphToMany'){
//Collection or array of models (because Collection is Arrayable)
$this->setProperty($method, '\Illuminate\Database\Eloquent\Collection|'.$returnModel.'[]', true, null);
}else{