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

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

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

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Laravel

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

PHP

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

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

Q&A

解決済

2回答

1020閲覧

Laravelのテーブル接続について教えてください。

neji-mawaso

総合スコア13

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Laravel

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

PHP

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

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

0グッド

0クリップ

投稿2019/06/18 14:36

編集2019/06/18 15:01

質問失礼します。
Laravelに関する質問です。

下記のサイトを見ながら進めていったのですが詰まったので教えていただきたいです。

サイト

質問内容としましては、以前このサイトを1度通したのですが、自分的に理解が甘い感じがしたのでもう一度試そうと思いました。

そして、2回目の通しだったので安直にテーブル名をtasks2という名前にして作成しました。

そしてそれ以外変更は特にすることなく通したのですが以前作ったテーブルにアクセスしてしまいます。

tasks2テーブルのデータを表示させるにはどうすれば良いでしょうか。
回答お願いします。

環境
macOS Mojave
laravel 5.5.45
MAMP
DB MySQL

補足
phpMyAdminでtasks2テーブルがあることは確認済みです。
~~変えた場所はマイグレーションファイルを作った時にテーブル名を変えたくらいなのでコードは載せていません。~~載せます

web.php

PHP

1<?php 2 3use App\Task; 4use Illuminate\Http\Request; 5 6Route::get('/', function () { 7 $tasks = Task::orderBy('created_at','asc')->get(); 8 9 return view('tasks',[ 10 'tasks' => $tasks 11 ]); 12}); 13 14Route::post('/task',function (Request $request){ 15 $validator = Validator::make($request->all(), [ 16 'name' => 'required|max:255', 17 ]); 18 19 if($validator->fails()){ 20 return redirect('/') 21 ->withInput() 22 ->withErrors($validator); 23 } 24 25 $task = new Task; 26 $task->name = $request->name; 27 $task->save(); 28 29 return redirect('/'); 30 31}); 32 33Route::delete('/task/{task}',function (Task $task){ 34 $task->delete(); 35 36 return redirect('/'); 37});

tasks.blade.php

PHP

1@extends('layouts.app') 2@section('content') 3 <div class="container"> 4 <div class="col-sm-offset-2 col-sm-8"> 5 <div class="panel panel-default"> 6 <div class="panel-heading"> 7 New Task 8 </div> 9 10 <div class="panel-body"> 11 <!-- Display Validation Errors --> 12 @include('common.errors') 13 14 <!-- New Task Form --> 15 <form action="{{ url('task') }}" method="POST" class="form-horizontal"> 16 {{ csrf_field() }} 17 18 <!-- Task Name --> 19 <div class="form-group"> 20 <label for="task-name" class="col-sm-3 control-label">Task</label> 21 <div class="col-sm-6"> 22 <input type="text" name="name" id="task-name" class="form-control"> 23 </div> 24 </div> 25 26 <!-- Add Task Button --> 27 <div class="form-group"> 28 <div class="col-sm-offset-3 col-sm-6"> 29 <button type="submit" class="btn btn-default"> 30 <i class="fa fa-btn fa-plus"></i>Add Task 31 </button> 32 </div> 33 </div> 34 </form> 35 </div> 36 </div> 37 38 @if (count($tasks) > 0) 39 <div class="panel panel-default"> 40 <div class="panel-heading"> 41 Current Tasks 42 </div> 43 44 <div class="panel-body"> 45 <table class="table table-striped task-table"> 46 <thead> 47 <th>Task</th> 48 <th>&nbsp;</th> 49 </thead> 50 <tbody> 51 @foreach($tasks as $task) 52 <tr> 53 <td class="table-text"><div>{{ $task->name }}</div></td> 54 <tr> 55 <!-- Task Name --> 56 <td class="table-text"> 57 <div>{{ $task->name }}</div> 58 </td> 59 60 <!-- Delete Button --> 61 <td> 62 <form action="{{ url('task/'.$task->id) }}" method="POST"> 63 {{ csrf_field() }} 64 {{ method_field('DELETE') }} 65 66 <button type="submit" class="btn btn-danger"> 67 <i class="fa fa-trash"></i> Delete 68 </button> 69 </form> 70 </td> 71 </tr> 72 <td>&nbsp;</td> 73 </tr> 74 @endforeach 75 </tbody> 76 </table> 77 </div> 78 </div> 79 @endif 80 </div> 81 </div> 82@endsection

ymd_create_tasks2_table.php

PHP

1<?php 2 3use Illuminate\Support\Facades\Schema; 4use Illuminate\Database\Schema\Blueprint; 5use Illuminate\Database\Migrations\Migration; 6 7class CreateTasks2Table extends Migration 8{ 9 /** 10 * Run the migrations. 11 * 12 * @return void 13 */ 14 public function up() 15 { 16 Schema::create('tasks2', function (Blueprint $table) { 17 $table->increments('id'); 18 $table->string('name'); 19 $table->timestamps(); 20 }); 21 } 22 23 /** 24 * Reverse the migrations. 25 * 26 * @return void 27 */ 28 public function down() 29 { 30 Schema::dropIfExists('tasks2'); 31 } 32}

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

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

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

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

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

m.ts10806

2019/06/18 14:42

「テーブル」と「データベース」を間違えていませんか? 「テーブル」であればSQLベースの話なので「接続」とは違います。 「データベース」であれば「接続」と言えます。 もちろん、作っただけでは接続できません。 「以前作ったテーブルにアクセスしてしまう」とはどういうコードや設定を行った上でしょうか? 現在の内容だけだとくみ取れませんので詳細追記してください。
neji-mawaso

2019/06/18 14:54

テーブルとサイトに表記されているので接続という表現が違うのかもしれません。
guest

回答2

0

ベストアンサー

Laravelでは何も設定しなければEloquentモデルTaskからテーブルtasksが自動的に決まる。
どうしても別のテーブル名を使いたいなら
protected $table = 'tasks2';で指定できる。
https://readouble.com/laravel/5.8/ja/eloquent.html#eloquent-model-conventions
既存のDBが存在してる状態で後からLaravelを使いだしたとかそういう特別な理由がない限りテーブル名は変えないけど。

なんでそんな変なブログを参考にする人が多いのか本当に謎すぎる。
何度でも書くけどLaravelは公式情報以外全部間違ってる。

投稿2019/06/18 15:29

kawax

総合スコア10377

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

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

neji-mawaso

2019/06/18 21:56

できました。 確かに軽くしか公式見ていなかったのでしっかり読んできます。 助言ありがとうございます。
guest

0

参考元サイト見てないけど、特に何も変更してないなら↓で使ってるクラスは元のtaskテーブル用のままでしょう。

$tasks = Task::orderBy('created_at','asc')->get();

お勉強の為って事ならさらにもう一度サイトを読んで一行一行とまでは行かないまでも細かく自分なりの解釈をコメントとして書き込みながら作るといいかもしんないですね

投稿2019/06/18 15:11

hentaiman

総合スコア6389

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

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

neji-mawaso

2019/06/18 21:57

ありがとうございます。確かにTaskクラスではtasksテーブルのままでした。 助言ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問