🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Laravel

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

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

Q&A

解決済

3回答

398閲覧

laravel、青本p184のdbとsqlがつながらない。

GonbeeAudio

総合スコア9

Laravel

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

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

0グッド

0クリップ

投稿2019/12/28 05:10

編集2019/12/28 08:11

エラーメッセージ
Database (./database/database.sqlite) does not exist. (SQL: select * from people)

青本p184が動かないです。
正直これができないとdbが使えないからlaravelの学習できないので、別の言語やろうかと思ってます。

databasephp

1'connections' => [ 2 3 'sqlite' => [ 4 'driver' => 'sql', 5 'database' => env('DB_DATABASE', database_path('database.sqlite')), 6 'prefix' => '', 7 ], 8 9 'mysql' => [ 10 'driver' => 'mysql', 11 'host' => env('DB_HOST', '127.0.0.1'), 12 'port' => env('DB_PORT', '3306'), 13 'database' => env('DB_DATABASE', 'forge' ), 14 'username' => env('DB_USERNAME', 'forge'), 15 'password' => env('DB_PASSWORD', ''), 16 'unix_socket' => env('DB_SOCKET', ''), 17 'charset' => 'utf8mb4', 18 'collation' => 'utf8mb4_unicode_ci', 19 'prefix' => '', 20 'strict' => true, 21 'engine' => null, 22 ], 23 24 'pgsql' => [ 25 'driver' => 'pgsql', 26 'host' => env('DB_HOST', '127.0.0.1'), 27 'port' => env('DB_PORT', '5432'), 28 'database' => env('DB_DATABASE', 'forge'), 29 'username' => env('DB_USERNAME', 'forge'), 30 'password' => env('DB_PASSWORD', ''), 31 'charset' => 'utf8', 32 'prefix' => '', 33 'schema' => 'public', 34 'sslmode' => 'prefer', 35 ], 36 37 'sqlsrv' => [ 38 'driver' => 'sqlsrv', 39 'host' => env('DB_HOST', 'localhost'), 40 'port' => env('DB_PORT', '1433'), 41 'sqlite' => env('DB_DATABASE', 'forge'), 42 'username' => env('DB_USERNAME', 'forge'), 43 'password' => env('DB_PASSWORD', ''), 44 'charset' => 'utf8', 45 'prefix' => '', 46 ], 47 48 ],

env

1DB_CONNECTION=sqlite 2DB_HOST=127.0.0.1 3DB_PORT=3306 4DB_DATABASE= 5DB_USERNAME=homestead 6DB_PASSWORD=secret 7

helloappblade

1<!doctype html> 2<html lang="{{ app()->getLocale() }}"> 3 <head> 4 <meta charset="utf-8"> 5 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 6 <meta name="viewport" content="width=device-width, initial-scale=1"> 7 8 <title>@yield('title')</title> 9 10 <!-- Fonts --> 11 <link href="https://fonts.googleapis.com/css?family=Raleway:100,600" rel="stylesheet" type="text/css"> 12 13 <!-- Styles --> 14 <style> 15 th {background-color:#999; color:#fff; padding:5px 10px; } 16 td {border: solid 1px #aaa; color:#999; padding:5px 10px; } 17 </style> 18 </head> 19 <body> 20 <h1>@yield('title')</h1> 21 @section('menubar') 22 <h2 class="menutitle">※メニュー</h2> 23 <ul> 24 <li>@show</li> 25 </ul> 26 <hr size="1"> 27 <div class="content"> 28 @yield('content') 29 </div> 30 <div class="footer"> 31 @yield('footer') 32 </div> 33 </body> 34</html> 35

試したこと
.envファイルのパスを間違えていないか→
絶対パス、相対パスで試したけどエラーしか出ません。

キャッシュがたまってるから動かないのか->
php artisan cache:clear
php artisan config:clear
php artisan route:clear

キャッシュをクリアしましたがダメでした。

パーミッションのの権限がないから動かないのか->
まだわからないです。

自分もまだ勉強の歴が浅いいため、イマイチ権限がどこまで影響しているとかわからない事だらけで色々試していますが、まだ具体的な解決策が見当たりません。

開発環境は
mac os
Laravel Framework 5.5.48
です

回答の方を何卒夜しくお願いします。

'default' => env('DB_CONNECTION', 'mysql'),
になってました。
mysql->sqliteにしました
しかし解決はしませんでした。。。

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

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

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

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

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

Orlofsky

2019/12/28 10:07

書籍名は正確なタイトルを書いては? ここの掲示板を読んでいる初心者にも優しくありたいものです。
guest

回答3

0

本の通りにやると laravelapp/database/database.sqlite にsqliteのデータベースファイルを作成しているかと思いますので、ファイルを確認してください。

ほとんどの設定が.envで変更可能ですので、database.phpは基本書き換えなくていいです。

php

1env('DB_DATABASE', database_path('database.sqlite'));

上記は、.envからDB_DATABASEを読み込むが、もし無ければdatabaseディレクトリ内のdatabase.sqliteを読み込む、という記述です。


laravelapp/database/database.sqlite に作成するのが正しい手順だが
laravelapp/database.sqlite にファイルを作ってしまっているとか、何かしら間違えているかと思います。

投稿2019/12/28 08:58

Eggpan

総合スコア3205

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

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

GonbeeAudio

2019/12/28 09:42

申し訳ございません、解決してしまいました。
guest

0

sqlite を使用する場合、

DB_CONNECTION=sqlite DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE= DB_USERNAME=homestead DB_PASSWORD=secret

DB_CONNECTION=sqlite DB_DATABASE=/absolute/path/to/database.sqlite

この2項目を設定し、それ以外の項目は残しちゃいけない。

https://readouble.com/laravel/6.x/ja/database.html#configuration

イメージ説明

./database/database.sqlite にデータベースを作成したいのであれば、database に書き込み権限を与えること。

投稿2019/12/28 07:27

編集2019/12/28 07:35
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

GonbeeAudio

2019/12/28 07:51

ありがとうございます! しかしエラーはまだ出てしまいますね、もう少し触ってみます。
退会済みユーザー

退会済みユーザー

2019/12/28 08:22 編集

どうなったかの報告がないということは、これ以上のお手伝いは不要と考えていいですね。 お疲れ様でした。
GonbeeAudio

2019/12/28 08:29

はい、全くわからないのでもう一度一からファイル作りなします。
m.ts10806

2019/12/28 09:03

(試行錯誤をなんだと思ってるのかしら最近の初心者は)
GonbeeAudio

2019/12/28 09:14

さすがに一週間試行錯誤しても進まなかったら諦めますよ。
m.ts10806

2019/12/28 09:21 編集

「こういうエラーが出た」とか「こういうことを試してこうなった」とか 具体的に提示することでまた次のアドバイスを得られるものですけど、そのアドバイスを得られる機会を自ら放棄しておいて試行錯誤もなにもありません。 まだ基礎から独学でやり直した方が理解進むのでは。 だから私の回答で「それくらいの知識を付けてからフレームワークに入るべきと思います。」と書いています。 Laravelは他のフレームワークよりPHP含めて求められる土台のレベルが高いですよ。 1週間くらいで諦めるなら別のことやった方が人生のためになるかと思います(少々厳しく言っているのは承知の上です)
GonbeeAudio

2019/12/28 09:32 編集

具体的な提示は書いてませんか? 書いたつもりでメッセージを書いたつもりなのですが、 ただ、自分の文が拙くて上手く相手に伝わらなかったのであればそう思われても仕方ないと思います。 そして自分はすでにhtml,css,js,vue,phpは学習済みです。 別に喧嘩を売っているわけではないのですが、不快に思われたら申し訳ございません。
m.ts10806

2019/12/28 09:33

>ありがとうございます! しかしエラーはまだ出てしまいますね、もう少し触ってみます。 どこに「具体的な提示」があるんでしょう。 「うまくいきません」「ダメでした」というのと同じで 他者には何も具体的な情報は伝わっていません。 自身が同じこと言われたらたぶんこういう疑問出てくるはずですよ。 「そのエラーって何?」 回答者もそこまでお人好しではないので、そこまで事細かく丁寧に突っ込んでくれる人ばかりではありません。「そうですか」で終わる人もいます(私も最近はそうしてます)
GonbeeAudio

2019/12/28 09:37

言われてみればそうですね、もう少し考えて質問してみます。
guest

0

ベストアンサー

エラーそのままだと、指定の場所にsqliteのファイルがないんでしょう。
青本とやらは読んだことないですが(良い評判はあまり聞かない)、
何か必要な項目を読み飛ばしてませんか?
それか、「それくらいの知識はついている前提」で書籍で話が進められているかもしれませんので、
それくらいの知識を付けてからフレームワークに入るべきと思います。
※あと環境きっと古いのでその書籍に依存しすぎる学習の仕方はよろしくありません

DBが何でもよければsqliteじゃなくてもいいと思います(PHPにおいてはsqlite以外の方が業務では良く使われると思いますけど)


ただ、この質問含めて17件も同じエラーの問題が投稿されているので、
どこにも解決策が載ってないとは思えませんけど。(Laravelで絞っても4件ある)

投稿2019/12/28 05:47

編集2019/12/28 05:54
m.ts10806

総合スコア80875

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

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

GonbeeAudio

2019/12/28 06:57 編集

いや、sqliteのファイルはlaravel_projectにあります、一応絶対パスや相対パスも試しました、そして 自分の質問の仕方も悪かったですね。 申し訳ないです。
m.ts10806

2019/12/28 07:34

でも、 (./database/database.sqlite) does not exist ですよね。 参照可能な場所にパス通してないと意味がないです。
GonbeeAudio

2019/12/28 07:50

やはりパスは間違ってないと思われます。 もう少し触ってみます。。。
mikkame

2019/12/28 08:23

sqliteならlaravel_projectじゃなくてlaravel_project/database/database.sqliteが正しいですよ
m.ts10806

2019/12/28 09:02 編集

「間違っていないと思う」と言われても実際に「存在しない」と言われてるのですから間違っているのでしょう、としか。 プログラムは組んだ通りにしか動きませんよ。
GonbeeAudio

2019/12/28 09:20

再度新しくコンポーサーでファイルを作ってみたら直りました 正直自分でも理由が全くわからなので、一度立ち止まって先ほどのファイルと見比べて何がおかしいか探してみます。 あと、sqliteではなくmysqlでlaravelを連結してみたり、色々試行錯誤してみます。 ありがとうございました。
m.ts10806

2019/12/28 09:22

あまり、アドバイスが活きてないようで。 話をちゃんと聞かない方はアドバイスもつきにくいのでご注意を。
GonbeeAudio

2019/12/28 09:31

そうですね、大変申し訳ございませんでした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問