2017-11-01 2 views
0

저는 Elance와 비슷한 구직 마켓을 구축하고 있습니다. 작업 세부 정보 페이지에는 제안서 양식도 있습니다. 사용자는 양식을 작성하고 제출을 누르십시오.Laravel ErrorException : 비 객체의 속성을 얻으려고 시도합니다.

사용자가 제안서 데이터를 편집하려는 경우 대시 보드에서 해당 작업에 대한 편집 작업을 수행 할 수 있으며 다시이 작업 세부 정보 페이지로 이동합니다. 그러나 이번에는 양식이 미리 채워질 것입니다.

이것은 작업 세부 방법이며 requestdetail view @includes apply (proposal) 양식을 포함합니다.

public function edit($proposalid){ 
    $proposal = Proposal::where('id',$proposalid)->first(); 
    $reqid = $proposal->request_id; 
    $gigid = $proposal->gig_id; 

    if ($user = Auth::User()) { 
     $gigs = Gig::where('user_id','=',$user->id)->get(); 
    } 

    $request = UserRequest::with('request_desc','user.profile') 
     ->findOrFail($reqid); 

    $proposals = Proposal::with('user') 
     ->where('request_id','=',$reqid) 
     ->orderBy("proposals.created_at","desc") 
     ->get(); 

    return view('user.frontend.public.requestdetail',  compact('proposal','reqid','gigid','gigs','countProp','request','proposals')); 
} 

이 제안서 양식에서 필드는 다음과 같습니다 :

public function requestdetail($reqid){ 
if ($user = Auth::User()) { 
    $gigs = Gig::where('user_id','=',$user->id)->get(); 
} 

    $request = UserRequest::with('request_desc','user.profile') 
     ->findOrFail($reqid); 

    $proposals = Proposal::with('user') 
     ->where('request_id','=',$reqid) 
     ->orderBy("proposals.created_at","desc") 
     ->get(); 

    return view('user.frontend.public.requestdetail', 
     compact('reqid','request','proposals','gigs','countProp')); 
} 

편집 제안 방법입니다

: 나는 작업의 세부 정보 페이지를 볼 때, 그것은 나에게 오류를 제공

<div class="row"> 
        <div class="col-lg-12"> 
         <label>Description</label> 
         <textarea id="description" value="{{ $gigid->desc }}" name="description" style="min-height:100px;" class="form-control" rows="5" required=""></textarea> 
        </div> 
       </div> 

나는 그것의 $ gigid 함께 할 수 있지만 어떻게이 문제를 해결할 수 있습니까? 여기에서 작성 및 편집 부분을 어떻게 처리합니까?

+0

감사합니다? _gig_ 또는 _proposal_에 대한 것인가? –

+0

예 : 변경 : 값 = "{{$ proposal-> desc? $ proposal-> desc : ''}}"하지만 작업 세부 정보 페이지로 이동하면 다음과 같이 표시됩니다. ErrorException 정의되지 않은 변수 : 제안 – chuck

답변

1

찾았습니다. isset()을 추가하면 트릭이 수행됩니다. 그것의 완벽하게 작동합니다. 지금, 내 코드는 다음과 같습니다

{{ isset($proposal->deadline)?$proposal->deadline:'' }} 

당신이 텍스트 영역에 액세스하려고하는 어떤 설명

0

코드를 보면 :

$gigid->desc 

문제가 발생합니다

$gigid = $proposal->gig_id; 

$gigid 숫자

그래서 당신의보기에서

가 포함되어 있습니다. 따라서 $gigid 대신보기에서 다른 변수를 사용해야합니다.

+0

예, 변경 : value = "{{$ proposal-> desc? $ proposal-> desc : ''}}"그러나 작업 세부 정보 페이지로 이동하면 다음과 같이 표시됩니다. ErrorException 정의되지 않은 변수 : 제안 – chuck

+0

@chuck 'requestdetail' 메쏘드에 대한 컨트롤러에'$ proposals'가 아니라'$ proposal' 만 있기 때문에 정확합니다. 따라서 이것을 사용하려면이 변수를 컨트롤러에 설정해야합니다. –

관련 문제