Я хочу, чтобы контакты отображались в соответствии с группой. Группы, в свою очередь, отображаются в соответствии с зарегистрированным пользователем. Однако все контакты для пользователя отображаются в каждой группе, которую он создает. Это работает, когда значение жестко задано, но я хочу, чтобы значение было назначено динамически. Как это сделать?
Это групповой контроллер
class GroupController extends Controller {
public function index()
{
$groups = Group::where('user_id',Auth::user()->id)->get();
return view('groups.index', compact('groups'));
}
public function store(Request $request)
{
$group = $request->all();
$request->validate([
'group_name'=>'required',
]);
$group = new Group([
'group_name' => $request->get('group_name'),
'user_id' => Auth::user()->id,
]);
$group->save();
return redirect('/groups');
}}
Это контактный контроллер
class ContactController extends Controller{
public function index(Request $request)
{
$group_id=$request->query('id');
$contacts = Contact::where('user_id',Auth::user()->id)->where('group_id','=','id')->get();
return view('contacts.index', compact('contacts'));
}
public function store(Request $request)
{
$contact = $request->all();
$request->validate([
'contact_name'=>'required',
'contact_number'=> 'required|integer',
'contact_email' => 'required'
]);
$contact = new Contact([
'contact_name' => $request->get('contact_name'),
'contact_number'=> $request->get('contact_number'),
'contact_email'=> $request->get('contact_email'),
'user_id' => Auth::user()->id,
'group_id'=> $request->query('id'),
]);
$contact->save();
return redirect('/contacts');
}}
Это миграция для контактов.
class CreateContactsTable extends Migration{
public function up()
{
Schema::create('contacts', function (Blueprint $table) {
$table->increments('id');
$table->integer('user_id')->unsigned();
$table->integer('group_id')->unsigned();
$table->string('contact_name');
//$table->string('contact_number');
$table->string('contact_email');
$table->string('contact_number')->nullable();
$table->timestamps();
});
Schema::table('contacts', function($table) {
$table->foreign('user_id')->references('id')->on('users');
$table->foreign('group_id')->references('id')->on('groups');
});}