我正在使用Postman向我的API端点提交POST请求。
在我的嵌套JSON中,艺术家有一个或多个专辑,每个专辑都有一首或多首歌曲。
我有两个问题: 1)如何在Laravel中执行嵌套数组验证?我正在寻找最佳/标准的Laravel方法。
2)如何将多个模型保存在一起? 注意:我确实在我的Eloquent模型中创建了关系,例如
class Artist extends Eloquent {
public function albums()
{
return $this->hasMany('Album');
}
}
class Album extends Eloquent {
public function songs()
{
return $this->hasMany('Song');
}
}
class Song extends Eloquent {
public function album()
{
return $this->belongsTo('Album');
}
}
class Album extends Eloquent {
public function artist()
{
return $this->belongsTo('Artist');
}
}
答案 0 :(得分:1)
1)使用验证器的each
方法:
$validator = Validator::make(Input::all(), [...rules...]);
$validator->each('albums', [...rules...]);
2)创建艺术家后,循环浏览albums
并在关系中调用create
:
$artist = Artist::create(Input::all());
foreach (Input::get('albums') as $album)
{
$artist->albums()->create($album);
}