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

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

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

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

Laravel 5

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

Q&A

解決済

1回答

1255閲覧

laravel Model::orderByでエラー

Onikabe

総合スコア12

PHP

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

Laravel 5

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

0グッド

0クリップ

投稿2019/06/10 15:17

編集2019/06/10 16:02

前提・実現したいこと

laravelの教本に従って記述しているのですが、エラーが出てしまいます。

発生している問題・エラーメッセージ

Call to undefined method Faker\Provider\zh_CN\Person::orderBy()

該当のソースコード

//HelloController.php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Http\Response; use App\Http\Requests\HelloRequest; use Validator; use Illuminate\Support\Facades\DB; use Faker\Provider\zh_CN\Person; class HelloController extends Controller { public function index(Request $request) { $sort = $request->sort; //$items = DB::table('people')->simplePaginate(5); // ->orderBy($sort, 'asc'); $items = Person::orderBy($sort, 'asc')->simplePaginate(5); $param = ['items' => $items, 'sort' => $sort]; return view('hello.index', $param); } public function index(Request $request) { $sort = $request->sort; //$items = DB::table('people')->simplePaginate(5); // ->orderBy($sort, 'asc'); $items = Person::orderBy($sort, 'asc')->simplePaginate(5); $param = ['items' => $items, 'sort' => $sort]; return view('hello.index', $param); }
//index.blade.php @extends('layouts.helloapp') <style> .pagination {font-size: 10pt;} .pagination li {display: inline-block;} tr th a:link {color: white;} tr th a:visited {color: white;} tr th a:hover {color: white;} tr th a:active { color: white;} </style> @section('title','Index') @section('menubar') @parent インデックスページ @endsection @section('content') <table> <tr> <th><a href="/hello?sort=name">name</a></th> <th><a href="/hello?sort=mail">mail</a></th> <th><a href="/hello?sort=age">age</a></th> </tr> @foreach ($items as $item) <tr> <td>{{$item->name}}</td> <td>{{$item->mail}}</td> <td>{{$item->age}}</td> </tr> @endforeach </table> {{ $items->appends(['sort' => $sort])->links() }} @endsection @section('footer') copyright 2017 tuyano. @endsection

試したこと

localhost/helloにアクセスしてエラー。
localhost/hello?sort=nameにアクセスしてエラー。
localhost/Personでデータベースの中身は表示されている。
パラメータはGetDataに表示されている。

補足情報(FW/ツールのバージョンなど)

visual studio codeで作成。
php7
Laravel5.8.18です。よろしくお願いします

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

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

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

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

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

Eggpan

2019/06/10 15:48

HelloControllerのnamespaceとuseに何を書いているかでPersonクラスの参照先が変わるので、コントローラのファイルは先頭から書いて欲しいです。 viewファイルについては、読み込む前にエラーで終了しそうなので、この質問では不要かもしれません。
Onikabe

2019/06/10 16:03

ありがとうございます。namespaceとuseを追加しました。
foobar810

2019/06/11 00:21

Faker\Provider\zh_CN\Person これの中身ってどうなってますかね。 あと、composer dump-autoload も試して見てください。
Onikabe

2019/06/11 10:15

確認したらFaker\Provider\zh_CN\Personがありませんでした・・・。 教本を見返してるんですがどのタイミングでコントローラーに use Faker\Provider\zh_CN\Person;が入ったのかわかりません。
guest

回答1

0

ベストアンサー

エラー内容からみるに、以下のuseはダミーデータを作成するFaker用のPersonクラスなので、Eloquentモデルでは無いため、orderByメソッドもありません。

use Faker\Provider\zh_CN\Person;

自身で作成した方の、EloquentモデルのPersonを指定してみてください。
(例)

use App\Person;

投稿2019/06/11 02:25

編集2019/06/11 02:36
aro10

総合スコア4106

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

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

Onikabe

2019/06/11 10:24

解決しました! どのタイミングでuse Faker\Provider\zh_CN\Person;がコントローラに入ったか教本を読み直してるとこだったんですがFaker自体出てきませんでした。 どこをuseするべきなのかちゃんと見るべきでした。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問