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

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

新規登録して質問してみよう
ただいま回答率
85.48%
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

解決済

1回答

5530閲覧

Laravelでcolumn not found:1054 エラーが解決できない

Hirakin3

総合スコア33

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クリップ

投稿2018/07/26 09:14

編集2018/07/26 09:56

前提・実現したいこと

PHP/Laravel初心者です
原因がOrderBy自体とはわかっていますが解決できておらずアドバイスいただきたいです。

Auth機能でログインを実装しています。
未ログインでトップページ(http://localhost:8000/hello)にアクセス

ユーザ登録

トップページからログイン ここまでは問題ないですが

ログイン後にトップページを表示すると下記のエラーが発生します。

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

SQLSTATE[42S22]: Column not found: 1054 Unknown column '' in 'order clause' (SQL: select * from `people` where `age` > 10 order by `` asc limit 5 offset 0)

該当のソースコード

Controller

php

1<?php 2 3namespace App\Http\Controllers; 4 5use Illuminate\Http\Request; 6use App\Article; 7 8class ArticleController extends Controller 9{ 10 public function index(){ 11 $articles = Article::all(); 12 return view('article.index',['articles'=>$articles]); 13 } 14 15 public function index2(){ 16 $articles = Article::paginate(2); 17 return view('page.index',['articles'=>$articles]); 18 } 19 20 public function create(){ 21 return view('article.create'); 22 } 23 24 public function store(Request $request) 25 { 26 $validatedData = $request->validate([ 27 'title' => 'required|max:60', 28 'body' => 'required', 29 ]); 30 31 $article = new Article; 32 $article->title = $request->title; 33 $article->body = $request->body; 34 $article->save(); 35 36 return view('article.store'); 37 } 38 39 public function edit(Request $request, $id){ 40 $article = Article::find($id); 41 return view('article.edit',['article'=>$article]); 42 } 43 44 public function update(Request $request){ 45 $article = Article::find($request->id); 46 $article->title = $request->title; 47 $article->body = $request->body; 48 $article->save(); 49 return view('article.update'); 50 } 51 52 public function show(Request $request, $id) { 53 $article = Article::find($id); 54 return view('article.show', ['article' => $article]); 55 } 56 57 public function delete(Request $request) { 58 Article::destroy($request->id); 59 return view('article.delete'); 60 } 61} 62

Route

<?php use App\Http\Middleware\HelloMiddleware; Route::get('/', function () { return view('welcome'); }); Route::get('hello', 'HelloController@index'); Route::get('hello/add', 'HelloController@add'); Route::post('hello/add', 'HelloController@create'); Route::get('hello/edit', 'HelloController@edit'); Route::post('hello/edit', 'HelloController@update'); Route::get('hello/del', 'HelloController@del'); Route::post('hello/del', 'HelloController@remove'); Route::get('hello/show', 'HelloController@show'); Route::get('person', 'PersonController@index'); Route::get('person/find', 'PersonController@find'); Route::post('person/find', 'PersonController@search'); Route::get('person/add', 'PersonController@add'); Route::post('person/add', 'PersonController@create'); Route::get('person/edit', 'PersonController@edit'); Route::post('person/edit', 'PersonController@update'); Route::get('person/del', 'PersonController@delete'); Route::post('person/del', 'PersonController@remove'); Route::get('board', 'BoardController@index'); Route::get('board/add', 'BoardController@add'); Route::post('board/add', 'BoardController@create'); Route::resource('rest','RestappController'); Route::get('hello/rest','HelloController@rest'); Route::post('hello/rest','HelloController@rest'); Route::get('hello/session','HelloController@ses_get'); Route::post('hello/session','HelloController@ses_put'); Auth::routes(); Route::get('/home', 'HomeController@index')->name('home');

View

php

1@extends('layouts.helloapp') 2<style> 3 .pagination { font-size:10pt; } 4 .pagination li { display:inline-block } 5 tr th a:link { color: white; } 6 tr th a:visited { color: white; } 7 tr th a:hover { color: white; } 8 tr th a:active { color: white; } 9</style> 10@section('title', 'Index') 11 12@section('menubar') 13 @parent 14 インデックスページ 15@endsection 16 17@section('content') 18@if (Auth::check()) 19<p>USER: {{$user->name . ' (' . $user->email . ')'}}</p> 20@else 21<p>※ログインしていません。(<a href="/login">ログイン</a>22 <a href="/register">登録</a></p> 23@endif 24<table> 25 <tr> 26 <th><a href="/hello?sort=name">name</a></th> 27 <th><a href="/hello?sort=mail">mail</a></th> 28 <th><a href="/hello?sort=age">age</a></th> 29 </tr> 30 @foreach ($items as $item) 31 <tr> 32 <td>{{$item->name}}</td> 33 <td>{{$item->mail}}</td> 34 <td>{{$item->age}}</td> 35 </tr> 36 @endforeach 37 </table> 38 {{ $items->appends(['sort' => $sort])->links() }} 39@endsection 40 41@section('footer') 42copyright hoge. 43@endsection

Model

php

1<?php 2namespace App; 3 4use Illuminate\Database\Eloquent\Model; 5use Illuminate\Database\Eloquent\Builder; 6use App\Scopes\ScopePerson; 7 8class Person extends Model 9{ 10 11 // Do not set updated_at created_at timestamp 12 const UPDATED_AT = null; 13 const CREATED_AT = null; 14 15 protected $guarded = array('id'); 16 17 public static $rules = array( 18 'name' => 'required', 19 'mail' => 'email', 20 'age' => 'integer|min:0|max:150' 21 ); 22 23 protected static function boot() 24 { 25 parent::boot(); 26 static::addGlobalScope(new ScopePerson); 27 } 28 29 public function getData() 30 { 31 return $this->id . ':' . $this->name . '(' . $this->age .')'; 32 } 33 34 public function scopeNameEqual($query, $str) 35 { 36 return $query->where('name', $str); 37 } 38 39 public function scopeAgeGreaterThan($query, $n) 40 { 41 return $query->where('age','>=',$n); 42 } 43 44 public function scopeAgeLessThan($query, $n) 45 { 46 return $query->where('age','<=',$n); 47 } 48 49 public function boards() 50 { 51 return $this->hasMany('App\board'); 52 } 53 54} 55

試したこと

-Column not found: 1054 Unknown column系の事例を試しましたが解決できていません

public function index(Request $request)
{
$user = Auth::user();
$sort = $request->sort;
$items = Person::paginate(3);
$param = ['items' => $items, 'sort' => $sort];
return view('hello.index', $param);
}

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

  • laravel
  • ローカル環境で確認中

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

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

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

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

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

guest

回答1

0

自己解決

根本的なタイプミスがいくつかあり解決できました。

見ていただいた方はお手数おかけしました。

投稿2018/07/26 15:00

Hirakin3

総合スコア33

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問