0

초보자입니다. 해결하려고하는데 도움이 필요하다고 생각합니다.비 대상 laravel의 속성을 가져 오려고합니까?

-이 코드 컨트롤러입니다

  if(Input::hasFile('image')){ 

      $dest = 'media/images/product/'; 

      $name = str_random(6).'_'.Input::file('image')->getClientOriginalName(); 

      //$resize = 
      Input::file('image')->move($dest,$name); 
     } 

     $loaispname = Input::get('loaispname'); 

     $loaisp = new Loaisp; 


     $datas = $loaisp->getidloaisp($loaispname); 

     $idloaisp = $datas->id; 

     $item = new Sanpham; 
     $item->loaisp_id = $idloaisp; 
     $item->sanpham_name = Input::get('sanpham'); 
     $item->sanpham_img = $name; 
     $item->sanpham_tieude = Input::get('tieude'); 
     $item->sanpham_gia = Input::get('gia'); 
     $item->sanpham_chitiet = Input::get('chitiet'); 
     $item->sanpham_vitri = Input::get('vitri'); 
     $item->save(); 

     return Redirect::to('admin/dsachsanpham')->with('thanhcong','Saved'); 

-이있다

public function getidloaisp($loaispname){ 

     //return Loaisp::where('loaisp_name','=',$loaispname)->get(); 
     return DB::table('loaisp')->where('loaisp_name',$loaispname)->first(); 
    } 

이 인격적으로 코드 모델 오류

입니다

ErrorException (E_UNKNOWN) 가 아닌 객체 의 속성을 얻으려고 노력 열기 : E : \ xampp \ htdocs \ www \ daunhot \ app \ controllers \ AdminController.php

 $loaispname = Input::get('loaispname'); 

     $loaisp = new Loaisp; 


     $datas = $loaisp->getidloaisp($loaispname); 

     $idloaisp = $datas->id; // This is error 

     $item = new Sanpham; 
+1

쿼리 결과가 확실합니까? 에러 라인 앞에'dd ($ datas)'를 사용해보십시오. – Jerodev

답변

1

이 오류가 표시되면 두 가지 오류가 발생할 수 있습니다. DB (table) : table ('loaisp') -> where ('loaisp_name', $ loaispname) -> first();), 또는 -> first() 대신에 get()을 사용한다면이 에러가 발생합니다. 쿼리 결과에 foreach를 사용하거나 결과에 dd() 함수를 사용하여 비어 있는지 여부를 확인할 수 있습니다. 그것이 비어있는 경우 그것은 귀하의 porblem입니다.

1

나머지 부분과 마찬가지로 오류가 발생하기 전에 $ datas를 덤프하고 'getidloaisp'함수의 where 절에 '='을 추가하십시오. 당신은 '-> get()'을 '-> first()'로 바꾸면 인용 한 것을 사용할 수 있어야합니다. 당신이 입력에 'loaispname'를 받고있는 경우는

1

확인 :: 얻을 :

echo "<pre>"; 
print_r($loaispname); 
echo "</pre>"; 
exit; 

당신이 다음 게시 된 데이터를 가져 오는 경우 수행 DB 테이블

echo "<pre>"; 
print_r($datas); 
echo "</pre>"; 
exit; 
0

$datas->id 일입니다 테이블 datas과 셀 id 일 필요가 있으며 대소 문자를 구분하므로 Id 또는 기타를 사용하지 마십시오.

관련 문제