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

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

新規登録して質問してみよう
ただいま回答率
85.49%
Nuxt.js

Nuxt.jsは、ユニバーサルなSPAが開発可能なVue.jsベースのフレームワーク。UIの描画サポートに特化しており、SSRにおけるサーバーサイドとクライアントサイドのUIレンダリングなどさまざまな機能を持ちます。

Laravel

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

Q&A

解決済

2回答

1515閲覧

Class 'App\Model\Post' not found

退会済みユーザー

退会済みユーザー

総合スコア0

Nuxt.js

Nuxt.jsは、ユニバーサルなSPAが開発可能なVue.jsベースのフレームワーク。UIの描画サポートに特化しており、SSRにおけるサーバーサイドとクライアントサイドのUIレンダリングなどさまざまな機能を持ちます。

Laravel

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

0グッド

0クリップ

投稿2021/12/03 21:31

編集2021/12/06 12:28

selectボックスに表示されるcategoryを表示させたいのですが、表示されません。
(セレクトボックスのボタンを押すと、神社・寺が表示されます。)
PostControllerに下記の通り、use App\Post,use App\Model\Postと書き加えているのですが、上記のエラーが解消されません。アドバイスをいただきたいです。
laravelのlogにはlocal.ERROR: Class 'App\Model\Post' not found {"exception":"[object] (Symfony\Component\Debug\Exception\FatalThrowableError(code: 0): Class 'App\Model\Post' not found at /Users/maru/develop/naratabi/src/app/Http/Controllers/PostController.php:104)
と表記されています。

larevel

1PostController.php 2 22 use App\Model\Post; 3 4  96      public function index(Request $request) 5  97      { 6  98 $category = Category::all(); 7  99 return response()->json(['categories'=>$category],200); 8101  } 9102    public function find(Request $request,$id) 10103    { 11104 $posts= Post::where('category_id',$request->id)->get(); 12105 13106 return response()->json(['posts'=>$posts],200); 14107         }

laravel

1Post.php 2 3<?php 4 5namespace App\Http\Controllers; 6 7use Illuminate\Database\Eloquent\Model; 8 9class Post extends Model 10{ 11 public function posts() 12 { 13 return $this->hasMany('App\Models\Post'); 14 } 15} 16

nuxt

1index.vue 2 3<template> 4<div class="container"> 5 <div class="title"> 6 <p>鹿と大仏だけじゃない奈良を知る</p> 7 </div> 8 <div class="slider_outer"> 9 <transition name="fade"> 10 <div class="slider-inner" :key="idx" v-for="(image, idx) in images" v-if="current_slide == idx"> 11 <img class="slider-inner" v-bind:src="images[idx].img" :key="images[idx].img" width="450" height="300"> 12 </div> 13 </transition> 14 </div> 15 <div class="category_search_form"> 16 <div class="select_title"> 17 <p>下記ボタンをクリックして検索しよう</p> 18 <select v-model="category_id" v-on:change="jump(category_id)" class="select"> 19 <option value="">category</option> 20 <option v-for="category in categories" :value= "category.id" > 21 {{category.id}} 22 {{ category.name}} 23 </option> 24 </select> 25 </div> 26 </div> 27 <div class="image_post"> 28 <div class="photoshow"> 29 <NuxtLink to="/show"> 30 <div class="post"> 31 写真一覧をみる 32 </div> 33 </NuxtLink> 34 <NuxtLink to="/form"> 35 <div class="photoshowtitle"><a>奈良の写真を投稿する!</a></div> 36 </NuxtLink> 37 </div> 38 </div> 39</div> 40 41</template> 42 43<script> 44import axios from 'axios'; 45export default{ 46data(){ 47 return{ 48 category_id:'', 49 category_name:'', 50 categories:[], 51 category:[], 52 post:[], 53 id:'', 54 name:'', 55 current_slide:0, 56 images:'', 57 images:[ 58 {img:'https://naratabi.s3.ap-northeast-1.amazonaws.com/images/shika.JPG'}, 59 {img:'https://naratabi.s3.ap-northeast-1.amazonaws.com/images/oomiwa.JPG'}, 60 {img:'https://naratabi.s3.ap-northeast-1.amazonaws.com/images/BqWJ6Maew497TkYq1oBBkuibneoMO0ERGZWKXJtu.jpeg'}, 61 ], 62 } 63}, 64 created(){ 65 //axios.get(`http://127.0.0.1:8000/api/posts`) 66//.then(response => { 67// this.categories = response.data.categories 68 //console.log(response.data) 69 //}); 70 this.getCategories() 71 72 }, 73 mounted() { 74  setInterval(() => { 75 this.current_slide = this.current_slide < this.images.length -1 ? this.current_slide +1 : 0 76 }, 6000), 77 console.info('this.$axios.defaults.baseURL:', this.$axios.defaults.baseURL) 78}, 79 methods:{ 80 getCategories: function(){ 81 this.$axios.$get(`/category`) 82.then(response => { 83 console.log(response) 84 this.categories = response.catagories 85 console.log(response.data) 86 }); 87 }, 88 jump:function(id){ 89 this.$router.push({ path: `category/${id}`}); 90 console.log(id) 91 }, 92 slideshow(images) { 93 const current = images[this.index]; 94 const prev = images[this.index - 1] ? images[this.index - 1] : images[images.length - 1]; 95 current.classList.add('fadein'); 96 current.classList.remove('fadeout'); 97 prev.classList.remove('fadein'); 98 prev.classList.add('fadeout'); 99 } 100 101 }, 102 103} 104</script> 105 106 107

laravel

1api.php 2Route::get('/category','PostController@index'); 3Route::get('/category/{id}','PostController@find'); 4 5

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

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

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

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

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

skys215

2021/12/04 01:50

Post.phpはapp/Post.phpにあるのか、app/Models/Post.phpにあるのですか?
退会済みユーザー

退会済みユーザー

2021/12/04 23:45

返信ありがとうございます。 app/Post.phpにあります。
guest

回答2

0

app/Post.phpをapp/Models/Post.phpに移動すればエラーが消えます。

投稿2021/12/05 01:16

skys215

総合スコア910

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

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

0

ベストアンサー

PostControllerに下記の通り、use App\Post,use App\Model\Postと書き加えているのですが

提示コードにはそのような記述はないようです
そもそも、指定の名前空間内に指定のクラスは存在してますか?
提示のコードではPostクラスの名前空間はApp\Http\Controllersが指定されています。
PHPマニュアル:名前空間の概要

投稿2021/12/03 21:48

編集2021/12/03 22:10
m.ts10806

総合スコア80842

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

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

退会済みユーザー

退会済みユーザー

2021/12/05 05:53

返信ありがとうございます。 記事参考にさせていただきます????‍♂️
退会済みユーザー

退会済みユーザー

2021/12/10 16:03

Post.php の名前空間を namespace Appで指定すると、エラーが消えました。 ありがとうございます。
m.ts10806

2021/12/10 19:58

Modelなんですよね。 場所そこでいいんでしょうか。
退会済みユーザー

退会済みユーザー

2021/12/13 12:09

app\Http\Model\の下にPost.phpを移動し、 namespace App\Http\Model;に修正しました。
m.ts10806

2021/12/13 12:56

質問「受付中」のままですが、何かまだ解決してないんでしょうか
退会済みユーザー

退会済みユーザー

2021/12/13 13:00

すいません、解決しました????‍♂️
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問