質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

0回答

1326閲覧

laravel フォロー、フォロー解除機能

yukawa_

総合スコア13

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2021/07/14 14:48

Laravel

イメージ説明
現在画像のようにユーザーのリストをusers tableから表示しています。
イメージ説明
2枚目の画像のようにフォローするボタンを押すとfollowersのテーブルにuser情報を送り、
逆にフォローしている人はボタンを押すとfollowersテーブルから削除できるようにボタンの切り替えをしたいです。
どのようにコントローラーのfunctionを記述すればよろしいでしょうか?

ざっくりとした質問で申し訳ありません、
何卒ご教授お願いします。
Controller

php

1<?php 2 3namespace App\Http\Controllers; 4 5use Illuminate\Http\Request; 6 7class UsersController extends Controller 8{ 9 // 10 public function profile(){ 11 return view('users.profile'); 12 } 13 public function search(Request $request){ 14 15 $list = \DB::table('users')->get(); 16 return view('users.search',['list'=> $list]); 17 18 // $keyword = $request->input('keyword'); 19 } 20 21 public function result(Request $request){ 22 $keyword = $request->input('keyword'); 23 $list = \DB::table('users') 24 ->where('username','LIKE',"%{$keyword}%")->get(); 25 26 27 return view('users.search',['list'=> $list]); 28 } 29 30 }

View

php

1@extends('layouts.login') 2 3@section('content') 4{{Form::open(['action'=>'UsersController@result'])}} 5{{Form::text('keyword',null,['class' => 'input'])}} 6{{Form::submit('送信',['class' => 'search-button'])}} 7{{Form::close()}} 8 9<div class='container'> 10 <table class='table table-user'> 11 12@foreach ($list as $list) 13 <tr> 14 <td><img src="{{ asset('images/dawn.png')}}"alt = "dawn.png"><td> 15 <td>{{ $list->username }}</td> 16 <td>{{Form::submit('フォローをする',['class'=>'remove-follow']) }} 17 18 </tr> 19 @endforeach 20 21 22 23@endsection 24

Route

php

1<?php 2 3/* 4|-------------------------------------------------------------------------- 5| Web Routes 6|-------------------------------------------------------------------------- 7| 8| Here is where you can register web routes for your application. These 9| routes are loaded by the RouteServiceProvider within a group which 10| contains the "web" middleware group. Now create something great! 11| 12*/ 13 14// Route::get('/', function () { 15// return view('welcome'); 16// }); 17// Route::get('/home', 'HomeController@index')->name('home'); 18 19//Auth::routes(); 20 21 22//ログアウト中のページ 23Route::get('/login', 'Auth\LoginController@login'); 24Route::post('/login', 'Auth\LoginController@login'); 25 26Route::get('/logout', 'Auth\LoginController@logout'); 27Route::get('/logout', 'Auth\LoginController@logout'); 28 29Route::get('/register', 'Auth\RegisterController@register'); 30Route::post('/register', 'Auth\RegisterController@register'); 31 32Route::get('/added', 'Auth\RegisterController@added'); 33 34 35//ログイン中のページ 36Route::get('/top','PostsController@index'); 37// Route::post('/top','PostsController@index'); 38Route::post('/post','PostsController@create'); 39Route::get('/profile','UsersController@profile'); 40 41Route::post('/result','UsersController@result'); 42 43 44Route::get('/search','UsersController@search'); 45 46 47 48Route::get('/follow-list','PostsController@index'); 49Route::get('/follower-list','PostsController@index'); 50 51 52 53 54

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2021/07/14 19:53

どのような設計になってるか次第では? 実装をどうするかは設計が確定してからです。
yukawa_

2021/07/15 12:47

そうですよね、考え直します!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問