【Laravel】Attempt to read property “hoge” on int

Laravel,PHP

ミニマリスト_カミ

kamiです。
TwitterYoutubeもやってます。

今回は「Attempt to read property 」についての紹介です。

Attempt to read property “hoge” on intの原因

整数値などのプリミティブなデータ型に対してオブジェクトプロパティを読み取ろうとしていることを示しています。
整数値を使ってオブジェクトのようにプロパティにアクセスしているからです。

Controllerのコード

$id = 1;
$userData = $getUserDataUsecase->execute($id);


return view('user')->with([
  'userData' => $userData
]);

この例で「Attempt to read property “hoge” on int」が発生しているとすると、
$getUserDataUsecase->execute($id)の戻り値が、オブジェクトや配列ではなく整数を返していることが原因です。

Attempt to read property “hoge” on intの解決方法

Controllerのコード

  • $getUserDataUsecase->execute($id)の返り値を確認
    • 配列を返すことを確認。
  • $idが有効であることを確認
    • $idが整数の型であることを確認。
$id = 1;
$userData = $getUserDataUsecase->execute($id);

return view('user')->with([
  'userId' => $userData->id,
  'userName' => $userData->name,
]);

スポンサードサーチ

Attempt to read property “hoge” on intの解決の例

データベースから取得した配列を、配列のままViewへ渡し、Viewで表示するときに発生することがあります。
※自分はView componentに値を渡してViewでループ時で発生しました

Controllerのコード

$id = 1;
$userData = $getUserDataUsecase->execute($id);

return view('user')->with([
  'userId' => $userData->id,
  'userName' => $userData->name,
]);

Viewのコード

<div>
  <p>{{$userId}</p>
  <p>{{userName}}</p>
</div>

実装やエラーが解決できない場合

プログラミングの実装やエラーでどうしてもわからない場合はメンターに相談するのが一番です。

考えている、見えている範囲が狭くなり、解決から遠くに行って何時間も、何日も経っていることなんてよくある話です。

そういう時は聞ける先輩や、メンターに相談することが大事です。

僕にも相談可能なので気軽に相談してください。

Twitterからの連絡だと確実ですよ。

オンラインスクールやプログラミングスクールといったプログラミングを学べる方法もあるので、そちらもぜひ活用してもいいと思います。

Web開発で分からない時

オンライン完結型スクール DMM WEBCAMP PRO

アプリ開発で分からない時

プログラミング×稼げる副業スキルはテックキャンプ

プログラミングについて分からない時

【コエテコ様限定】※ご案内を受けた以外のメディアが使用しても成果は承認されません。
ミニマリスト_カミ

僕への個人でもメンターでも、スクールでもお好きな方を活用ください。

Laravel,PHPLaravel

Posted by kami