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

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

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

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

Q&A

解決済

2回答

7592閲覧

undefined offset:0というエラー

silent_skill

総合スコア19

Laravel

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

0グッド

0クリップ

投稿2019/07/20 13:03

編集2019/07/20 13:18

laravel入門の本を進めていましたが下記のようなエラーが出ました。

ErrorException (E_NOTICE)
Undefined offset: 0

コードの書き方はあってると思うのですが、原因・対処方法わかる方いましたら回答お願いします。

php

1public function edit(Request $request) 2{ 3 $param = ['id'=>$request->id]; 4 $item = DB::select('select * from people where id = :id', $param); 5 return view('hello.edit', ['form' => $item[0]]); 6} 7 8public function update(Request $request) 9{ 10 $param = [ 11 'id'=>$request->id, 12 'name'=>$request->name, 13 'mail'=>$request->mail, 14 'age'=>$request->age, 15 ]; 16 DB::update('update people set name=:name, mail=:mail, age=:age where id =:id', $param); 17 return redirect('/hello'); 18}

php

1@extends('layouts.helloapp') 2 3@section('title', 'Edit') 4 5@section ('menubar') 6 @parent 7 更新ページ 8@endsection 9 10@section('content') 11 <table> 12 <form action="/hello/edit" method="post"> 13 {{csrf_field()}} 14 <input type="hidden" name="id" value="{{$form->id}}"> 15 <tr><th>name: </th><td><input type="text" name="name" value="{{$form->name}}"></td></tr> 16 <tr><th>mail: </th><td><input type="text" name="mail" value="{{$form->mail}}"></td></tr> 17 <tr><th>age: </th><td><input type="text" name="age" value="{{$form->age}}"></td></tr> 18 <tr><th></th><td><input type="submit" value="send"></td></tr> 19 </form> 20 </table> 21@endsection 22 23@section('footer') 24copyright 2017 tuyano. 25@endsection

php

1Route::get('hello/edit', 'HelloController@edit'); 2Route::post('hello/edit', 'HelloController@update'); 3 4

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

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

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

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

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

y_waiwai

2019/07/20 13:06

そのエラーメッセージを、編集や省略せずに、そのままの形で提示してください
guest

回答2

0

ベストアンサー

とりあえず…

select の結果が(期待したのが)返ってないんじゃないスか?
エラーか null か分かりませんが。
で、$item を参照してエラーになった、と。

投稿2019/07/20 13:39

takasima20

総合スコア7458

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

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

mikkame

2019/07/20 17:42

この場合ですが、DB::select()のみだと、セレクト文の準備のみで、クエリの実行、データの取得まで言っていない感じですね
guest

0

URLの最後に「?id=1」を付加してもダメですか?

投稿2020/10/07 14:40

torimingo

総合スコア122

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問