질문을 삭제하지 말아주세요.!
 
1
0
-1

MainController.php에 아래와 같이 코딩하였습니다


<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\User;

class MainController extends Controller
{
public function index() {
$a = User::all();
return view('layouts.master_layout')->with('a', $a);

}
}

이렇게 코딩하고 태스트를 해보면 


[{"id":1,"name":"chldbstjr","email":"chldbstjr@naver.com","created_at":null,"updated_at":null}]
이렇게 제가 저장한 정보가 뜨는데 
view 파일에서 {{ $a['name'] }} 이렇게 사용하면
Undefined index: name (View: C:\Bitnami\wampstack-7.0.23-0\apache2\htdocs\wis\resources\views\layouts\master_layout.blade.php)

이런 오류가 나옵니다,,, 


어떤 문법을 사용해야지 제가 원하는 정보를 표시할수있을까요 ? 

    CommentAdd your comment...

    2 answers

    1.  
      1
      0
      -1

      view에서 $a를 한번 dd() 함수로 확인해보세여 Undefined index: name 에러는 name이라는 배열 key값이 없을때 발생합니다^^;;


      1. 최윤석
        Collection {#182 #items: array:1 []}

        이렇게 나오는데 저는 배열이 있다고 생각하는데 아닌가요 ㅠㅠ ?

      2. 권윤학

        0번째 배열이 있는듯 합니다.

      3. 최윤석

        힌트 감사합니다 ㅠㅠ 

        $a[0]['name'] 이렇게 해서 출력이 되는것을 확인했는데 


        제가 알기로는 2차원 배열로 알고있는데


        1차원으로 변환해서 사용할수있을까요 ??


        1차원 2차원 차이가 뭔가요 ㅠㅠ?? 어떤걸 사용하는게 좋을까요 ㅠㅠ ?

      4. 권윤학

        view에서 나온 값을 혹시 스크린샷으로 보여주실수 있으신가요 저 화살표 모양 펼친채로 

        데이터 형태가 [ {} ] 인걸로 봐서는 $a는 컬렉션일테고 컬렉션은 보통 키값은 숫자입니다.

        즉 말씀하신대로 $a[0]['name'] 일 가능성이 높다는거죠

      5. 최윤석

        앞에 제 댓글 수정했는데 수정한 글좀 봐주실수있을까요!!?

      6. 권윤학

        User::all();[모델의 all메서드]은 기본적으로 값이 하나여도 2차원으로 나옵니다.

        만약 한명의 유저에 대해 정보를 조회하실 생각이시면

        find() 같은 메서드를 사용하시는걸 추천드립니다.

        아니면 User::all()→first() 처럼 2차원으로 가져온뒤 첫번째 모델만 쓸수있지만 쿼리 낭비와 잘못된 로직이라고 생각듭니다.

      7. 최윤석

        nav에 제목들을 가져올껀데 1차원 배열을 사용하든 2차원 배열을 사용하는


        별차이는 없을까요 ??


        또 따른 질문이긴한데 ㅠㅠ nav테이블을 제작해서 제목을 넣고 그것을 클릭하면

        페이지를 이동하게 하려는데 

        실무에서는 페이지를 어떤식으로 저장시킬까요?? 

        url 컬럼을 만들어서 그에 맞는 url을 넣고  a태그로 출력하려하는데 


        이 방법을 보통사용하는 방법일까요 ?? 아님 다른 방법을 좀더 많이 사용할까요 ? 

      8. 권윤학

        nav 라면 메뉴를 말씀하시는건가요?? 메뉴가 보통 한개는 아닐테니 모델의 all()같은 메서드 동일하게 사용하셔서 view에서는 foreach문으로 보여주시는게 좋을듯 합니다. 

      9. 권윤학

        이런 소스 한번 참고해보세요. 설명보단 이런 예시가 좋을 듯 합니다.

        https://github.com/mrakodol/Laravel-5-Bootstrap-3-Starter-Site/blob/master/resources/views/partials/nav.blade.php

      CommentAdd your comment...
    2.  
      1
      0
      -1

      $a->name 으로 안되나요?

      1. 최윤석

        Property [name] does not exist on this collection instance. (View: C:\Bitnami\wampstack-7.0.23-0\apache2\htdocs\wis\resources\views\layouts\master_layout.blade.php)


        이런 오류가 나옵니다 ㅠㅠ

      CommentAdd your comment...