2014-09-26 90 views
2

当我运行下面错误:类stdClass的的对象无法转换为字符串

$id = Input::get('branch_id'); 
$retailer_code = DB::table('branches')->select('retailer_code')->where('id', $id)->first(); 
$user = new User; 
$user->user_firstname = Input::get('user_firstname'); 
$user->user_lastname = Input::get('user_lastname'); 
$user->user_email = Input::get('user_email'); 
$user->username = Input::get('username'); 
$user->password = Hash::make(Input::get('password')); 
$user->position_id = Input::get('position_id'); 
$user->retailer_code = $retailer_code; 
$user->branch = Input::get('branch_code'); 
$user->status = "1"; 
$user->save(); 

return Redirect::to('admin/users')->with('message', 'New User Added!'); 

的代码,我得到这个错误“类stdClass的的对象不能转换为字符串”

回答

1

这个问题可能是在这条线:

$user->retailer_code = $retailer_code; 

$retailer_code是一个对象,你需要像它一样获得它的属性S:

$user->retailer_code = $retailer_code->retailer_code; 
+0

非常感谢!它现在正在工作 – Lumiere 2014-09-26 07:19:34

+0

这也适用于我。但是,如果您在查询中明确指定要获取列' - > select('retailer_code')',那么如何才能获得像'$ retailer_code-> retailer_code;'这样的属性?如果你只有'$ retailer_code = DB :: table('branches') - > where('id',$ id) - > first();'(没有' - > select('retailer_code ')') – Pathros 2015-05-25 18:11:42

0

你应该变化:

$user->retailer_code = $retailer_code; 

$user->retailer_code = $retailer_code->retailer_code; 

或者你可以修改您的查询:

$retailer_code = DB::table('branches')->where('id', $id)->pluck('retailer_code'); 

,然后使用:

$user->retailer_code = $retailer_code; 

没有变化

+0

非常感谢!它正在工作 – Lumiere 2014-09-26 07:19:54

2

$ retailer_code这是stdClass的,你不能直接使用为变量,

$retailer_code = DB::table('branches')->select('retailer_code')->where('id', $id)->first(); 

将返回retailer_code所以

$retailer_code->retailer_code //would be the solution. 

请参考此link

+0

非常感谢!它正在工作 – Lumiere 2014-09-26 07:43:39

相关问题