我想插入一个关系,从检查到inspection_details的关系是一对多。一次检查可能有多个细节。问题是我有一个模型“检查”。如何从inspection_details表中插入或检索数据。
检验代码模型已使用
class Inspection extends Model
{
protected $fillable =[
'schedule_id', 'inspector', 'comments', 'signature'
];
public function details()
{
return $this->belongsToMany('App\Inspection', 'inspection_details');
}
}
但我无法插入或检索详细记录表。
我用过修补程序的代码:
$ins = App\Inspection::find(1)
$ins->details
我正在获取详细信息的实例,但我不知道如何在inspection_details表中插入数据。
答案 0 :(得分:0)
你应该改变两件事。
目前您正在使用import java.util.*;
public class AggPersone {
public static void main(String[] args) {
ArrayList<Item> voce = new ArrayList<Item>();
voce.add(new Item("Robert", "Via qualcosa", "123"));
voce.add(new Item("Roberto","Via qualcosina", "123"));
voce.add(new Item("Robert", "Via qual ", "2222"));
Scanner input = new Scanner(System.in);
System.out.println("chi cerchi?");
String chiave = input.nextLine();
int i = 0;
while(i < voce.size()){
if(voce.get(i).getNome().equals(chiave)){
System.out.println(voce.get(i).toString());
break;
}
i++;
if(i == voce.size()){
System.out.println("Nessun match");
}
}
input.close();
}
}
。当你有many-to-many关系时使用。
此外,您将自己的模型与自身联系起来。 belongsToMany
。
这是一个如何解决问题的例子:
belongsToMany('App\Inspection', ...)
答案 1 :(得分:0)
首先,inspection
和inspection_details
之间的关系是错误的,inspection
有很多inspection_details
所以你可以像这样引用它:
检验模式
public function details()
{
return $this->hasMany('App\InspectionDetail');
}
这是从inspection_detail
到inspection
的反比关系:
InspectionDetail模式
public function inspection()
{
return $this->belongsTo('App\Inspection');
}
在保存链接到检查的新细节方面,您首先要获取应与细节相关联的检查:
$ins = App\Inspection::find(1)
之后定义新的inspection_detail
:
$insDetail = App\InspectionDetail::Create(array(
// your parameters that need to be set
));
然后将其绑定到inspection
:
$ins->detail = $insDetail;
最后将其保存到数据库中:
$ins->save();