У меня есть этот код
$xml = $mbpay->processPaymentInfo();
Log::info('Showing $mbpay:' . var_export($xml, true));
Журнал показывает как:
[2018-07-06 12:40:56] local.INFO: Showing $mbpay: '<?xml version="1.0" encoding="ISO-8859-1" ?>
<getmb_id>
<status>ok</status>
<!---->
<doc>000...</doc>
</getmb_id>'
С помощью этого xml я хочу получить из таблицы notifications
значение столбца "r_id
", где значение столбца "doc
" равно элементу "doc" $xml
выше.
Знаете ли вы, как правильно получить значение элемента xml, чтобы можно было выполнить запрос для получения r_id
?
Запрос должен быть что-то вроде "$rID = Notifications::where('doc', $doc)->pluck('r_id')->first();
"а как получить $doc
?
Последнее обновление:
$mbpay = new MBPay($payment_info);
$processed_payment = $mbpay->processPaymentInfo();
$xml = simplexml_load_string($processed_payment);
$doc = $xml->doc;
$rID = DB::table('notifications')->where('doc', $doc)->pluck('r_id')->first();
Log::info('Showing $mbpay: ' . var_export($xml, true));
Log::info('doc: ' . var_export($doc, true)); // shows SimpleXMLElement::__set_state(array(
))
Log::info('rID: ' . var_export($rID, true)); // shows NULL
Log::info('xml: ' . var_export($xml, true));
return \Response::make($xml, '200')->header('Content-Type', 'text/xml');
$mbpay->processPaymentInfo()
показывает как:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<getmb_key>
<status>ok</status>
<message>...</message>
<user>...</user>
<doc>...</doc>
</getmb_key>