laravel - Laravel:一对多多边形关系不会自动更新
问题描述
3 种类型的帖子:个人、商业和自然。
下面是帖子模型
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\Relation;
Relation::morphMap([
'Personal' => 'App\Personal',
'Business' => 'App\Business',
'Nature' => 'App\Nature',
]);
class Post extends Model
{
public function postable()
{
return $this->morphTo();
}
}
下面是个人模型
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Personal extends Model
{
public function posts()
{
return $this->morphMany(Post::class,'postable');
}
}
商业与自然模型也是如此。
当我在 phpMyAdmin 中手动输入数据时,修补程序会根据需要显示结果,但是当我从前端(通过表单)创建帖子时,posts
表格保持不变。
我试过谷歌搜索,但没有任何效果!:(
下面是个人控制器
public function create()
{
if(Auth::guest()){
return redirect()->route('login');
}
$sectors = Sector::all();
$cities = City::all();
$ranges = Range::all();
return view('front.personal-register',compact('sectors','cities','ranges'));
}
public function store(Request $request)
{
$this->validate($request,[
"sectors" => "required",
"cities" => "required",
"ranges" => "required",
"g-recaptcha-response" => "required|captcha"
]);
$franchisee = new Personal;
$franchisee->user_id = Auth::user()->id;
$franchisee->save();
$franchisee->sectors()->sync($request->sectors);
$franchisee->cities()->sync($request->cities);
$franchisee->ranges()->sync($request->ranges);
return redirect(route('personal.index'))->with('message','Thank You! Your post has been added');
}
解决方案
推荐阅读
- artifactory - 在 Artifactory 中,我可以像使用模式和占位符一样修改 AQL 下载结果的目标路径吗?
- python - 如何使用 Python 将网站录制为视频?
- c - 在c编程中设置变量以包含字符串的一部分
- python - 删除子元素包含“英语”的更有效方法
- java - 使用 map 操作过滤非 Null 对象或在 flatMap 操作上返回 Stream.empty() 是否更好?
- javascript - 在没有容器的情况下均衡同一行上的 DIV 高度
- javascript - 有没有办法从数组中获取括号,然后将其中的所有元素放入数组中
- python - 使用装饰器作为类来装饰 Python 类
- javascript - TemplateSyntaxError:无法解析剩余部分:来自“${id}”的“${id}”
- python - 边界框的平均精度 (AP)