2017-09-11 56 views
0

我正在使用一對一的關係。我的模型代碼是:Laravel與數組值的關係

public function training_type() 
{ 
    return $this->hasone('App\Training_type','id','type'); 
} 

但參數「ID」是一個數組中,我試着用下面的代碼,但不工作:

public function training_type() 
{ 
    return $this->hasone('App\Training_type','types.id','type'); 
} 

任何人給我很好的suggession。

Training_type表結構,

"company_id": "company1", 
"types": [ 
{ 
"id": "1", 
"name": "Generic" 
}, 
{ 
"id": "2", 
"name": "Compensation and Benefits" 
}, 
{ 
"id": "3", 
"name": "Labor and Employment Law" 
} 
], 
"updated_at": ISODate("2017-08-10T10:24:40.000+05:30") 
} 

另一個表結構,

{ 
"company_id": "company1", 
"title": "Fire Extinguisher\t", 
"content_type": "", 
"links": [ 
{ 
"link": "" 
}, 
{ 
"link": "" 
} 
], 
"updated_at": ISODate("2017-08-10T10:24:40.000+05:30"), 
"type": "1" 
} 
+0

其中'types.id'來自哪裏? – Gammer

+0

更新了問題 –

+0

您不應該像正在做的那樣傳遞foreign_key,Foreign_key是您引用的表的直接向前列名稱。看下面的例子。 – Gammer

回答

0

傳遞foreign_key到關係的通常的做法是:

public function training_type() 
{ 
    return $this->hasone('App\Training_type','foreign_key'); 
} 

的foreign_key是從你想鏈接的表格。