Ser*_*gey 5 php database laravel dingo-api
我有两个表来保存数据。其中之一有外键,因此我有一对多的关系。但是,我不明白如何将数据同时保存到两个表中。我有一个查询,其中包含一个表的数据和另一个应附加到第一个表的数据。
这是主要模型
class Site extends Model
{
protected $fillable = ['path', 'site_link'];
public $timestamps = false;
public function features() {
return $this->hasMany('App\SiteFeature');
}
}
Run Code Online (Sandbox Code Playgroud)
这是子模型
class SiteFeature extends Model
{
protected $fillable = ['feature', 'site_id'];
public $timestamps = false;
}
Run Code Online (Sandbox Code Playgroud)
现在我的控制器看起来像这样
class SiteController extends BaseController
{
public function index()
{
return Site::all();
}
public function show(Site $id)
{
return $this->response->item($id, new SiteTransformer);
}
public function store(Request $request)
{
$site = Site::create($request->all());
return response()->json($site, 201);
}
Run Code Online (Sandbox Code Playgroud)
我知道它会将其保存为一份数据。我请求你帮助我将数据分成两个表。在文档中,我找到了存储与数据库中现有模型的关系的方法,但是我在创建时没有该模型。
就这样解决了
public function store(Request $request)
{
$site = Site::create([
"path" => $request->path,
"site_link" => $request->link,
]);
foreach ($request->features as $feature) {
$site->features()->save(new SiteFeature(["feature" => $feature]));
}
return response()->json($site, 201);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8658 次 |
| 最近记录: |