我是初学者。 我正在努力解决,我想我需要帮助。
- 这是代码控制器
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;
答案 0 :(得分:1)
当你看到这个错误时,可能会出现两个错误:你的查询没有任何回复(DB :: table('loaisp') - > where('loaisp_name',$ loaispname) - > first(); ),或者你得到了一个数组,如果你使用 - > get()而不是 - > first()你会得到这个错误。 尝试在查询结果中使用foreach,或尝试在结果上使用dd()函数,以便查看是否为空。如果它是空的那是你的问题。
答案 1 :(得分:1)
与其他人说的相同,在错误之前转储$ datas,可能会添加' ='你那里的那个条款' getidloaisp'功能。你应该可以使用你引用的那个,也就是说你改变了' - > get()'到' - >第一个()'。
答案 2 :(得分:1)
检查输入:: get by:
是否收到'loaispname'echo "<pre>";
print_r($loaispname);
echo "</pre>";
exit;
如果您要获取发布的数据,请执行以下操作:
echo "<pre>";
print_r($datas);
echo "</pre>";
exit;
答案 3 :(得分:0)
$datas->id
使用数据库表需要是表datas
和单元格id
,并且它们区分大小写,不使用Id
或其他。