我在使用Laravel的数据库运行查询first()
时返回了一个对象,当我使用dd()
或进行检查时vardump()
。但是当我尝试使用echo ($promotion->pp_name);
它打印值时出现错误,但是相同的属性显示dd($promotion->pp_name);
<?php dd($promotion->pp_name); ?>
打印“紧急”
<?php echo ($promotion->pp_name); ?>
但是它给出了“试图获取非对象的属性”
全对象转储结果: <?php dd($promotion); ?>
{#196 ▼
+"ppo_id": 23
+"ppo_prj_id": 68
+"ppo_pp_id": 4
+"ppo_updated_date": "2014-05-20"
+"ppo_status": 1
+"pp_id": 4
+"pp_name": "urgent"
+"pp_dispText": "I want my project to be marked as an urgent project"
+"pp_amount": "5.00"
+"pp_updated_date": "2013-08-09"
+"pp_status": 1
}
以及返回此对象的函数。
function getProjectPromotion($value='')
{
$project_id = $value;
$promotion = DB::table('project_promotion_option')
->join('project_promotion', 'project_promotion_option.ppo_pp_id', '=', 'project_promotion.pp_id')
->where('ppo_prj_id', '=' , $project_id )
->first();
return $promotion;
}
您是否在循环调用此方法?当您执行dd()时,脚本将在第一个循环运行后以正确的结果停止运行,并且一切正常。但是,当您在循环中执行回显时,它会继续,我的猜测是,在某些时候您传递了一些破坏了该方法的数据。
我们需要查看代码摘录,您在其中调用上述方法来验证这种预感。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句