У меня есть простой API, который просто извлекает переменные _GET и использует их как предложение Where в моем контроллере.Если операторы, не работающие в контроллере Laravel
public function MUIntervalAPICall(Request $dte)
{
$date = $dte->dte;
$element_language = $dte->language;
$element_customer = $dte->customer;
$element_contract = $dte->contract;
$element_subcontract = $dte->subcontract;
$element = $dte->element;
$mu_interval= MUInterval::select('element_customer', 'element_contract', 'element_subcontract', 'element_language', 'element_site', 'element', 'src_id', 'src_type_id', 'dte', 'intvl', 'val_src_id', 'exception_name', 'duration_seconds', 'duration_fte')
->where('dte', $date)
if(isset($_GET['customer'])){
->where('element_customer', $element_customer)
}
->get()
->toArray();
function array_to_xml($data, &$xml_data) {
foreach($data as $key => $value) {
if(is_array($value)) {
$key = 'Exception';
$subnode = $xml_data->addChild($key);
array_to_xml($value, $subnode);
} else {
$xml_data->addChild("$key",htmlspecialchars("$value"));
}
}
}
$xml_data = new SimpleXMLElement('<?xml version="1.0"?><muExceptions></muExceptions>');
array_to_xml($mu_interval,$xml_data);
$result = $xml_data->asXML();
return Response::make($result, '200')->header('Content-Type', 'text/xml');
}
}
Он просто проверяет URL-адрес, если клиент указан в URL-адресе. например 2016-14-03? Клиент = Apple. Но по какой-то причине я получаю эту ошибку:
Я прокомментировал инструкцию if и заключительную фигуру, и она фактически работает и выбирает дату и клиента.
->where('dte', $date)
->where('element_customer', $element_customer)
->get()
->toArray();
мне интересно, если есть пространство имен я пропускаю, или если «если» заявление не применяется в таком контроллере.
Я пробовал выше, и я получаю исключение FatalErrorException в строке APIController.php 4: заявление о декларации пространства имен должно быть самым первым утверждением или после любого объявления в сценарии. Строка 4 - это место, где находится контроллер. Пространство имен App \ Http \ Controllers \ API; – Odinovsky
Просто проверьте, есть ли у вас что-либо перед объявлением пространства имен. Файл должен начинаться с ' Php', а в 3-й строке вы должны иметь что-то вроде' namespace App \ Http \ Controllers \; ' –
Ницца .. это действительно полезно ... Спасибо большое сэр .. :) Я получил error_reporting (0); перед пространством имен. – Odinovsky