我必须从控制器发送url才能用json查看。当我使用$ this-> Html-> link或$ this-> Url-> build作为链接时,这样做不正确。我如何发送链接到json ..
使用Cake \ View \ Helper \ UrlHelper; 在顶部
foreach($schedules as $s) :
$start=$s->start_at;
$end=$s->finished_at;
$link= $this->Url->build([
'controller' => 'Bookings','action' => 'makebooking',
'comid' => 1,
'comslug' =>'Moe Moe',
'sevid'=>2,
'sevslug'=>'face washing',
'sid'=>$s->id,
'start'=>$start,
'end'=>$end
]);
$out[]=array(
'id'=>$s->id,
'title'=>'( '.$s->start_at.'-'.$s->finished_at.' )'.$s->name,
'url'=>$link,
'start'=>strtotime($s->start_at).'000',
'class'=>'event-important'
);
endforeach;
echo json_encode(array('success'=>1,'result'=>$out));exit;
错误:在非对象上调用成员函数build(),而我
使用此代码可在应用程序中的任何位置生成网址:
use Cake\Routing\Router;
$link = Router::url([
'controller' => 'Bookings','action' => 'makebooking',
'comid' => 1,
'comslug' =>'Moe Moe',
'sevid'=>2,
'sevslug'=>'face washing',
'sid'=>$s->id,
'start'=>$start,
'end'=>$end
]);
要生成完整的URL,请将第二个arg传递为TRUE。请参阅以下示例:
$fullLink = Router::url([
'controller' => 'Bookings','action' => 'makebooking',
'comid' => 1,
'comslug' =>'Moe Moe',
'sevid'=>2,
'sevslug'=>'face washing',
'sid'=>$s->id,
'start'=>$start,
'end'=>$end
],TRUE);
我没有测试上面的代码,但我敢肯定它会工作。让我知道它是否无效。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句