I have DB in SQL Server and I execute it with Laravel. However, I get the following error.
ParseError syntax error, unexpected ' ' (T_STRING), expecting ']'
I am trying to figure out why this is happening. It shows this syntax error, but I don't understand it. I can't find a typo. I read and update SQL Server database. Is there a bug or something?
$siswa_regNo = DB::table('upload_tbpendaftaran$')
->select('Reg_No', 'F_Name',
'N_Name',
'Place',
'Birthday',
'BirthID',
'Gender',
'Bloods',
'Glass',
'Height',
'Weight',
'Child_No',
'Child_Qty',
'School_Code',
'School_Name',
'School_Address',
'School_Distric',
'School_Distric_Desc',
'School_City',
'School_City_Desc',
'School_Province',
'School_Province_Desc',
'School_NEM_Avg',
'School_STTB',
'Certificate_ID',
'Stay',
'Stay_Address',
'Stay_RT',
'Stay_RW',
'Stay_Village',
'Stay_Distric',
'Stay_Distric_Desc',
'Stay_City',
'Stay_City_Desc',
'Stay_Province',
'Stay_Province_Desc',
'Stay_Phone',
'Stay_HP',
'Stay_Postal',
'Stay_Longitude',
'Stay_Latitude',
'Home_Address',
'Home_RT',
'Home_RW',
'Home_Village',
'Home_Distric',
'Home_Distric_Desc',
'Home_City',
'Home_City_Desc',
'Home_Province',
'Home_Province_Desc',
'Home_Postal',
'Home_Phone',
'Home_HP',
'Home_HP2',
'Home_Longitude',
'Home_Latitude',
'EMail',
'Email_Parent',
'Email_Parent2',
'ID_Cards',
'Distance',
'Time_HH',
'Time_MM',
'TransportID',
'TransportDesc',
'Remarks',
'NISN',
'ExamUNNo')
->orderBy('Reg_No')
->get();
foreach ($siswa_regNo as $s) {
DB::table('Registration')
->where('Reg_No', $s->Reg_No)
->update([
'F_Name' => $s->F_Name,
'N_Name' => $s->N_Name,
'Place' => $s->Place,
'Birthday' => $s->Birthday,
'BirthID' => $s->BirthID,
'Gender' => $s->Gender,
'Religion' => $s->Religion,
'Citizen' => $s->Citizen,
'FamilyID' => $s->FamilyID,
'Bloods' => $s->Bloods,
'Glass' => $s->Glass,
'Height' => $s->Height,
'Weight' => $s->Weight,
'Child_No' => $s->Child_No,
'Child_Qty' => $s->Child_Qty,
'School_Code' => $s->School_Code,
'School_Name' => $s->School_Name,
'School_Address' => $s->School_Address,
'School_Distric' => $s->School_Distric,
'School_Distric_Desc' => $s->School_Distric_Desc,
'School_City' => $s->School_City,
'School_City_Desc' => $s->School_City_Desc,
'School_Province' => $s->School_Province,
'School_Province_Desc' => $s->School_Province_Desc,
'School_NEM_Avg' => $s->School_NEM_Avg,
'School_STTB' => $s->School_STTB,
'Certificate_ID' => $s->Certificate_ID,
'Stay' => $s->Stay,
'Stay_Address' => $s->Stay_Address,
'Stay_RT' => $s->Stay_RT,
'Stay_RW' => $s->Stay_RW,
'Stay_Village' => $s->Stay_Village,
'Stay_Distric' => $s->Stay_Distric,
'Stay_Distric_Desc' => $s->Stay_Distric_Desc,
'Stay_City' => $s->Stay_City,
'Stay_City_Desc' => $s->Stay_City_Desc,
'Stay_Province' => $s->Stay_Province,
'Stay_Province_Desc' => $s->Stay_Province_Desc,
'Stay_Phone' => $s->Stay_Phone,
'Stay_HP' => $s->Stay_HP,
'Stay_Postal' => $s->Stay_Postal,
'Stay_Longitude' => $s->Stay_Longitude,
'Stay_Latitude' => $s->Stay_Latitude,
'Home_Address' => $s->Home_Address,
'Home_RT' => $s->Home_RT,
'Home_RW' => $s->Home_RW,
'Home_Village' => $s->Home_Village,
'Home_Distric' => $s->Home_Distric,
'Home_Distric_Desc' => $s->Home_Distric_Desc,
'Home_City' => $s->Home_City,
'Home_City_Desc' => $s->Home_City_Desc,
'Home_Province' => $s->Home_Province,
'Home_Province_Desc' => $s->Home_Province_Desc,
'Home_Postal' => $s->Home_Postal,
'Home_Phone' => $s->Home_Phone,
'Home_HP' => $s->Home_HP,
'Home_HP2' => $s->Home_HP2,
'Home_Longitude' => $s->Home_Longitude,
'Home_Latitude' => $s->Home_Latitude,
'EMail' => $s->EMail,
'Email_Parent' => $s->Email_Parent,
'Email_Parent2' => $s->Email_Parent2,
'ID_Cards' => $s->ID_Cards,
'Distance' => $s->Distance,
'Time_HH' => $s->Time_HH,
'Time_MM' => $s->Time_MM,
'TransportID' => $s->TransportID,
'TransportDesc' => $s->TransportDesc,
'Remarks' => $s->Remarks,
'NISN' => $s->NISN,
'ExamUNNo' => $s->ExamUNNo
]);
}
I am very confused, please help.
in second FOREACH, when you are getting data from DB you should add ->first() or ->get() in the last.
foreach ($siswa_regNo as $s) {
DB::table('Registration')
->where('Reg_No', $s->Reg_No)
->first() // this line added
->update([
'F_Name' => $s->F_Name,
'N_Name' => $s->N_Name,
'Place' => $s->Place,
.
.
.
]);
}
or if you want to use ->get() you should foreach to this also...
How to get the payment methods in magento 2.
All 3 types:
1) All Payment Methods
2) Active/Enabled Payment Methods
3) Payment Methods that have been used while placing orders
Using Dependency Injection (DI)
Here is the code that you need to write in your Block class.
/**
* Order Payment
*
* #var \Magento\Sales\Model\ResourceModel\Order\Payment\Collection
*/
protected $_orderPayment;
/**
* Payment Helper Data
*
* #var \Magento\Payment\Helper\Data
*/
protected $_paymentHelper;
/**
* Payment Model Config
*
* #var \Magento\Payment\Model\Config
*/
protected $_paymentConfig;
/**
* #param \Magento\Backend\Block\Template\Context $context
* #param \Magento\Sales\Model\ResourceModel\Order\Payment\Collection $orderPayment
* #param \Magento\Payment\Helper\Data $paymentHelper
* #param \Magento\Payment\Model\Config $paymentConfig
* #param array $data
*/
public function __construct(
\Magento\Backend\Block\Template\Context $context,
\Magento\Sales\Model\ResourceModel\Order\Payment\Collection $orderPayment,
\Magento\Payment\Helper\Data $paymentHelper,
\Magento\Payment\Model\Config $paymentConfig,
array $data = []
) {
$this->_orderPayment = $orderPayment;
$this->_paymentHelper = $paymentHelper;
$this->_paymentConfig = $paymentConfig;
parent::__construct($context, $data);
}
/**
* Get all payment methods
*
* #return array
*/
public function getAllPaymentMethods()
{
return $this->_paymentHelper->getPaymentMethods();
}
/**
* Get key-value pair of all payment methods
* key = method code & value = method name
*
* #return array
*/
public function getAllPaymentMethodsList()
{
return $this->_paymentHelper->getPaymentMethodList();
}
/**
* Get active/enabled payment methods
*
* #return array
*/
public function getActivePaymentMethods()
{
return $this->_paymentConfig->getActiveMethods();
}
/**
* Get payment methods that have been used for orders
*
* #return array
*/
public function getUsedPaymentMethods()
{
$collection = $this->_orderPayment;
$collection->getSelect()->group('method');
$paymentMethods[] = array('value' => '', 'label' => 'Any');
foreach ($collection as $col) {
$paymentMethods[] = array('value' => $col->getMethod(), 'label' => $col->getAdditionalInformation()['method_title']);
}
return $paymentMethods;
}
Using Object Manager
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$paymentHelper = $objectManager->get('Magento\Payment\Helper\Data');
$allPaymentMethods = $paymentHelper->getPaymentMethods();
$allPaymentMethodsArray = $paymentHelper->getPaymentMethodList();
var_dump($allPaymentMethodsArray);
var_dump($allPaymentMethods);
$paymentConfig = $objectManager->get('Magento\Payment\Model\Config');
$activePaymentMethods = $paymentConfig->getActiveMethods();
var_dump(array_keys($activePaymentMethods));
$orderPaymentCollection = $objectManager->get('\Magento\Sales\Model\ResourceModel\Order\Payment\Collection');
$orderPaymentCollection->getSelect()->group('method');
$paymentMethods[] = array('value' => '', 'label' => 'Any');
foreach ($orderPaymentCollection as $col) {
$paymentMethods[] = array('value' => $col->getMethod(), 'label' => $col->getAdditionalInformation()['method_title']);
}
var_dump($paymentMethods);
Sample Output of getUsedPaymentMethods():
Array
(
[0] => Array
(
[value] =>
[label] => Any
)
[1] => Array
(
[value] => cashondelivery
[label] => Cash On Delivery
)
[2] => Array
(
[value] => checkmo
[label] => Check / Money order
)
)
Sample Output of getAllPaymentMethodsList():
Array
(
[vault] =>
[substitution] =>
[banktransfer] => Bank Transfer Payment
[cashondelivery] => Cash On Delivery
[checkmo] => Check / Money order
[payflowpro] => Credit Card
[payflow_link] => Credit Card
[payflow_advanced] => Credit Card
[braintree] => Credit Card (Braintree)
[authorizenet_directpost] => Credit Card Direct Post (Authorize.net)
[free] => No Payment Information Required
[braintree_paypal] => PayPal (Braintree)
[paypal_billing_agreement] => PayPal Billing Agreement
[payflow_express_bml] => PayPal Credit
[paypal_express_bml] => PayPal Credit
[paypal_express] => PayPal Express Checkout
[payflow_express] => PayPal Express Checkout Payflow Edition
[hosted_pro] => Payment by cards or by PayPal account
[purchaseorder] => Purchase Order
[braintree_cc_vault] => Stored Cards (Braintree)
[payflowpro_cc_vault] => Stored Cards (Payflow Pro)
)
Sample Output of getAllPaymentMethods():
Array
(
[free] => Array
(
[active] => 1
[model] => Magento\Payment\Model\Method\Free
[order_status] => pending
[title] => No Payment Information Required
[allowspecific] => 0
[sort_order] => 1
[group] => offline
)
[substitution] => Array
(
[active] => 0
[model] => Magento\Payment\Model\Method\Substitution
[allowspecific] => 0
)
[vault] => Array
(
[debug] => 1
[model] => Magento\Vault\Model\VaultPaymentInterface
)
[checkmo] => Array
(
[active] => 1
[model] => Magento\OfflinePayments\Model\Checkmo
[order_status] => pending
[title] => Check / Money order
[allowspecific] => 0
[group] => offline
)
[purchaseorder] => Array
(
[active] => 0
[model] => Magento\OfflinePayments\Model\Purchaseorder
[order_status] => pending
[title] => Purchase Order
[allowspecific] => 0
[group] => offline
)
[banktransfer] => Array
(
[active] => 0
[model] => Magento\OfflinePayments\Model\Banktransfer
[order_status] => pending
[title] => Bank Transfer Payment
[allowspecific] => 0
[group] => offline
)
[cashondelivery] => Array
(
[active] => 0
[model] => Magento\OfflinePayments\Model\Cashondelivery
[order_status] => pending
[title] => Cash On Delivery
[allowspecific] => 0
[group] => offline
)
[paypal_express] => Array
(
[model] => Magento\Paypal\Model\Express
[title] => PayPal Express Checkout
[payment_action] => Authorization
[solution_type] => Mark
[line_items_enabled] => 1
[visible_on_cart] => 1
[visible_on_product] => 1
[allow_ba_signup] => never
[group] => paypal
[authorization_honor_period] => 3
[order_valid_period] => 29
[child_authorization_number] => 1
[verify_peer] => 1
[skip_order_review_step] => 1
)
[paypal_express_bml] => Array
(
[model] => Magento\Paypal\Model\Bml
[title] => PayPal Credit
[group] => paypal
)
[payflow_express] => Array
(
[title] => PayPal Express Checkout Payflow Edition
[payment_action] => Authorization
[line_items_enabled] => 1
[visible_on_cart] => 1
[visible_on_product] => 1
[group] => paypal
[verify_peer] => 1
[model] => Magento\Paypal\Model\PayflowExpress
)
[payflow_express_bml] => Array
(
[model] => Magento\Paypal\Model\Payflow\Bml
[title] => PayPal Credit
[group] => paypal
)
[payflowpro] => Array
(
[model] => Magento\Paypal\Model\Payflow\Transparent
[title] => Credit Card
[payment_action] => Authorization
[cctypes] => AE,VI
[useccv] => 1
[tender] => C
[verbosity] => MEDIUM
[user] =>
[pwd] =>
[group] => paypal
[verify_peer] => 1
[date_delim] =>
[ccfields] => csc,expdate,acct
[place_order_url] => paypal/transparent/requestSecureToken
[cgi_url_test_mode] => https://pilot-payflowlink.paypal.com
[cgi_url] => https://payflowlink.paypal.com
[transaction_url_test_mode] => https://pilot-payflowpro.paypal.com
[transaction_url] => https://payflowpro.paypal.com
[avs_street] => 0
[avs_zip] => 0
[avs_international] => 0
[avs_security_code] => 1
[cc_year_length] => 2
[can_authorize_vault] => 1
[can_capture_vault] => 1
)
[payflowpro_cc_vault] => Array
(
[model] => PayflowProCreditCardVaultFacade
[title] => Stored Cards (Payflow Pro)
)
[paypal_billing_agreement] => Array
(
[active] => 1
[allow_billing_agreement_wizard] => 1
[model] => Magento\Paypal\Model\Method\Agreement
[title] => PayPal Billing Agreement
[group] => paypal
[verify_peer] => 1
)
[payflow_link] => Array
(
[model] => Magento\Paypal\Model\Payflowlink
[payment_action] => Authorization
[verbosity] => HIGH
[user] =>
[pwd] =>
[group] => paypal
[title] => Credit Card
[partner] => PayPal
[csc_required] => 1
[csc_editable] => 1
[url_method] => GET
[email_confirmation] => 0
[verify_peer] => 1
[transaction_url_test_mode] => https://pilot-payflowpro.paypal.com
[transaction_url] => https://payflowpro.paypal.com
[cgi_url_test_mode] => https://pilot-payflowlink.paypal.com
[cgi_url] => https://payflowlink.paypal.com
)
[payflow_advanced] => Array
(
[model] => Magento\Paypal\Model\Payflowadvanced
[payment_action] => Authorization
[verbosity] => HIGH
[user] => PayPal
[pwd] =>
[group] => paypal
[title] => Credit Card
[partner] => PayPal
[vendor] => PayPal
[csc_required] => 1
[csc_editable] => 1
[url_method] => GET
[email_confirmation] => 0
[verify_peer] => 1
[transaction_url_test_mode] => https://pilot-payflowpro.paypal.com
[transaction_url] => https://payflowpro.paypal.com
[cgi_url_test_mode] => https://pilot-payflowlink.paypal.com
[cgi_url] => https://payflowlink.paypal.com
)
[hosted_pro] => Array
(
[model] => Magento\Paypal\Model\Hostedpro
[title] => Payment by cards or by PayPal account
[payment_action] => Authorization
[group] => paypal
[display_ec] => 0
[verify_peer] => 1
)
[authorizenet_directpost] => Array
(
[active] => 0
[cctypes] => AE,VI,MC,DI
[debug] => 0
[email_customer] => 0
[login] =>
[merchant_email] =>
[model] => Magento\Authorizenet\Model\Directpost
[order_status] => processing
[payment_action] => authorize
[test] => 1
[title] => Credit Card Direct Post (Authorize.net)
[trans_key] =>
[trans_md5] =>
[allowspecific] => 0
[currency] => USD
[create_order_before] => 1
[date_delim] => /
[ccfields] => x_card_code,x_exp_date,x_card_num
[place_order_url] => authorizenet/directpost_payment/place
[cgi_url_test_mode] => https://test.authorize.net/gateway/transact.dll
[cgi_url] => https://secure.authorize.net/gateway/transact.dll
[cgi_url_td_test_mode] => https://apitest.authorize.net/xml/v1/request.api
[cgi_url_td] => https://api2.authorize.net/xml/v1/request.api
)
[braintree] => Array
(
[model] => BraintreeFacade
[title] => Credit Card (Braintree)
[payment_action] => authorize
[active] => 0
[is_gateway] => 1
[can_use_checkout] => 1
[can_authorize] => 1
[can_capture] => 1
[can_capture_partial] => 1
[can_authorize_vault] => 1
[can_capture_vault] => 1
[can_use_internal] => 1
[can_refund_partial_per_invoice] => 1
[can_refund] => 1
[can_void] => 1
[can_cancel] => 1
[cctypes] => AE,VI,MC,DI,JCB,CUP,DN,MI
[useccv] => 1
[cctypes_braintree_mapper] => {"american-express":"AE","discover":"DI","jcb":"JCB","mastercard":"MC","master-card":"MC","visa":"VI","maestro":"MI","diners-club":"DN","unionpay":"CUP"}
[order_status] => processing
[environment] => sandbox
[allowspecific] => 0
[sdk_url] => https://js.braintreegateway.com/js/braintree-2.17.6.min.js
[public_key] =>
[private_key] =>
[masked_fields] => cvv,number
[privateInfoKeys] => avsPostalCodeResponseCode,avsStreetAddressResponseCode,cvvResponseCode,processorAuthorizationCode,processorResponseCode,processorResponseText,liabilityShifted,liabilityShiftPossible,riskDataId,riskDataDecision
[paymentInfoKeys] => cc_type,cc_number,avsPostalCodeResponseCode,avsStreetAddressResponseCode,cvvResponseCode,processorAuthorizationCode,processorResponseCode,processorResponseText,liabilityShifted,liabilityShiftPossible,riskDataId,riskDataDecision
)
[braintree_paypal] => Array
(
[model] => BraintreePayPalFacade
[title] => PayPal (Braintree)
[active] => 0
[payment_action] => authorize
[allowspecific] => 0
[require_billing_address] => 0
[allow_shipping_address_override] => 1
[display_on_shopping_cart] => 1
[order_status] => processing
[is_gateway] => 1
[can_use_checkout] => 1
[can_authorize] => 1
[can_capture] => 1
[can_capture_partial] => 1
[can_refund] => 1
[can_refund_partial_per_invoice] => 1
[can_void] => 1
[can_cancel] => 1
[privateInfoKeys] => processorResponseCode,processorResponseText,paymentId
[paymentInfoKeys] => processorResponseCode,processorResponseText,paymentId,payerEmail
)
[braintree_cc_vault] => Array
(
[model] => BraintreeCreditCardVaultFacade
[title] => Stored Cards (Braintree)
)
The output array of of getActivePaymentMethods() is very long. So, I have just printed out the keys of the array. Keys of the output array contains active method’s code.
Sample Output of array_keys(getActivePaymentMethods()):
Array
(
[0] => free
[1] => checkmo
[2] => purchaseorder
[3] => cashondelivery
[4] => paypal_billing_agreement
)
Is it possible while creating new users with AvS_Fastsimpleimporter to add more than the standard address ?
Currently my array "data" looks like this
'email' => $kunde['email'],
'_website' => $_website,
'_store' => $_website . 'store',
'confirmation' => '',
'created_at' => $created_at,
'created_in' => 'Import',
'disable_auto_group_change' => 0,
'firstname' => $kunde['name_1'],
'group_id' => 3,
'kontonummer' => $kunde['kontonr'],
'kundennummer' => $kunde['kundennr'],
'lastname' => $lastname,
'password_hash' => $password_hash,
'store_id' => 0,
'website_id' => $country['id'],
'_address_city' => $kunde['ort'],
'_address_country_id' => $kunde['land'],
'_address_fax' => $kunde['fax'],
'_address_firstname' => $kunde['name_1'],
'_address_lastname' => $lastname,
'_address_postcode' => $kunde['plz'],
'_address_street' => $kunde['strasse'],
'_address_telephone' => $_address_telephone,
'_address_vat_id' => $kunde['ust_id'],
'_address_default_billing_' => 1,
'_address_default_shipping_' => 1,
And i want to add a second address with the AvS_Simpleimporter.
I tried to add a second array in data like this:
array_push($data, array(
'email' => null,
'_website' => null,
'_address_city' => checkRequiredInput($address['ort']),
'_address_country_id' => $address['land'],
'_address_firstname' => checkRequiredInputVadr($address['name_1']),
'_address_lastname' => checkRequiredInputVadr($address['name_2']),
'_address_postcode' => checkRequiredInput($address['plz']),
'_address_street' => checkRequiredInput($address['strasse']),
'_address_default_billing_' => 0,
'_address_default_shipping_' => 0,
));
And then executing with
$importer = Mage::getModel('fastsimpleimport/import');
$importer->setIgnoreDuplicates('password_hash')->processCustomerImport($data);
But this currently doesn't work. The second address is added as an extra array to data like this
.... data array
....
'_address_default_billing_' => 1
'_address_default_shipping_' => 1
[0] => 'email' => bla bla
'_website' => bla bla
and so son
Any help ?
Multiple addresses are imported as additional rows. Hence you need to:
'_address_country_id' => array($country1,$country2),
'_address_city' => array($city1, $city2),
....
I have an object called 'events', that's created via $data['events'] = function (the function pulls information out of an events table and others using active record).
The events object looks like:
Array
(
[0] => stdClass Object
(
[id] => 2
[course_name] => Course 3
[course_description] => Course
[course_price] => 995
[supplier_name] => Supplier 3
[location_country_code] => GB
[location_country] => United Kingdom
[location_city] => London
[venue_name] => Venue 2
[venue_address] => 2 Street
[venue_postcode] => EC2M 7PQ
[venue_city] => London
[venue_county] =>
[venue_country] => United Kingdom
[venue_locality] =>
[event_type] => Materials Only
[event_status] => Confirmed
[course_id] => 2
[event_duration] => 3
[event_start_date] => 2013-09-12
[event_date_added] => 2013-02-26 14:36:06
[event_status_id] => 2
[event_type_id] => 4
[tutor_id] => 0
[tutor_confirmed] => 0
[event_featured] => 0
[event_push] => 0
[event_active] => 0
[invigilator_id] => 0
[event_discount] =>
[event_max_delegates] => 16
[location_id] => 1
[venue_id] => 1
[supplier_id] => 2
)
[1] => stdClass Object
(
[id] => 1
[course_name] => Course Name
[course_description] => Course Description
[course_price] => 995
[supplier_name] => Supplier 1
[location_country_code] => GB
[location_country] => United Kingdom
[location_city] => London
[venue_name] => Venue Name
[venue_address] => Street
[venue_postcode] => EC2M 7PQ
[venue_city] => London
[venue_county] =>
[venue_country] => United Kingdom
[venue_locality] =>
[event_type] => Private Venue
[event_status] => Provisional
[course_id] => 1
[event_duration] => 3
[event_start_date] => 2013-11-13
[event_date_added] => 2013-02-26 09:56:17
[event_status_id] => 1
[event_type_id] => 3
[tutor_id] => 0
[tutor_confirmed] => 0
[event_featured] => 0
[event_push] => 0
[event_active] => 0
[invigilator_id] => 0
[event_discount] => 395
[event_max_delegates] => 16
[location_id] => 1
[venue_id] => 1
[supplier_id] => 1
)
)
I'd like to add a nested object under the key 'delegates' for each row using ActiveRecord, that pulls through the delegates attached to the event using a bridge table 'events_delegates_bridge' by comparing the 'event_id' and 'delegate_id columns in that table.
Essentially so that the object looks like so:
Array
(
[0] => stdClass Object
(
[id] => 2
[course_name] => Course 3
[delegates] => Array
(
[0] => stdClass Object
(
[id] => 1
[name] => Joe Bloggs
)
[1] => stdClass Object
(
[id] => 2
[name] => Joe Smith
)
[3] => stdClass Object
(
[id] => 3
[name] => Jane Doe
)
)
[course_description] => Course
[course_price] => 995
[supplier_name] => Supplier 3
[location_country_code] => GB
[location_country] => United Kingdom
[location_city] => London
[venue_name] => Venue 2
[venue_address] => 2 Street
[venue_postcode] => EC2M 7PQ
[venue_city] => London
[venue_county] =>
[venue_country] => United Kingdom
[venue_locality] =>
[event_type] => Materials Only
[event_status] => Confirmed
[course_id] => 2
[event_duration] => 3
[event_start_date] => 2013-09-12
[event_date_added] => 2013-02-26 14:36:06
[event_status_id] => 2
[event_type_id] => 4
[tutor_id] => 0
[tutor_confirmed] => 0
[event_featured] => 0
[event_push] => 0
[event_active] => 0
[invigilator_id] => 0
[event_discount] =>
[event_max_delegates] => 16
[location_id] => 1
[venue_id] => 1
[supplier_id] => 2
)
)
Any ideas how best to achieve this? Thanks.
Event Model
class Event_Model extends CI_Model {
public function get_events() {
$this->db->select( '*' );
$this->db->from( 'courses' );
$this->db->from( 'suppliers' );
$this->db->from( 'locations' );
$this->db->from( 'venues' );
$this->db->from( 'event_type' );
$this->db->from( 'event_status' );
$this->db->join( 'events', 'events.course_id = courses.id AND events.supplier_id = suppliers.id AND events.location_id = locations.id AND events.venue_id = venues.id AND events.event_type_id = event_type.id AND events.event_status_id = event_status.id', 'inner' );
$this->db->order_by( 'events.event_start_date', 'asc' );
$query = $this->db->get();
return $query->result();
}
}
Dashboard Controller
$data['events'] = $this->event_model->get_events();
Delegates Model
I've created this to get the delegate data. Do you think it can be used to add the correct delegates to the events object?
class Delegate_Model extends CI_Model {
public function get_delegates() {
$this->db->select( '*' );
$this->db->from( 'delegates' );
$this->db->from( 'events_delegates_bridge' );
$this->join( 'delegates', 'delegates.id = events_delegates_bridge.delegate_id', 'inner' );
$query = $this->db->get();
return $query->result();
}
}
Just tested this and it shows a blank page.
You're best off doing it with 2 separate queries.
$events = array();
$result = $this->db->query('SELECT * FROM events WHERE ...');
foreach($result->result_array() as $event) {
$events[$event['id']] = $event;
}
$result = $this->db->query('
SELECT * FROM events_delegates_bridge
JOIN delegates ON (delegate_id = delegates.id)
WHERE ...
');
foreach($result->result_array() as $delegate) {
if (!empty($events[$delegate['event_id']])) {
$events[$delegate['event_id']]['delegates'][] = $delegate
}
}
This bit of code just queries the events and puts them in an array indexed by the event id.
Then, a separate query runs to pull up the delegates, and attaches them to the appropriate event.
use $name=$variable->result_array();var_dump($name); I think This work
I have successfully integrated the Silent Post feature with our system for ARB subscriptions. What I am now trying to do is when we refund a payment via the merchant interface, how do I distinguish a refund from all other transactions? Is the a special variable that is set for a refunded payment?
x_type will be set to "credit"
Here is an actual Silent Post verifying that (sensitive info is removed/changed)
Array
(
[x_response_code] => 1
[x_response_subcode] => 1
[x_response_reason_code] => 1
[x_response_reason_text] => This transaction has been approved.
[x_auth_code] => 056187
[x_avs_code] => P
[x_trans_id] => 2692444422
[x_invoice_num] => 123
[x_description] =>
[x_amount] => 59.90
[x_method] => CC
[x_type] => credit
[x_cust_id] => 1234
[x_first_name] => John
[x_last_name] => Smith
[x_company] =>
[x_address] =>
[x_city] =>
[x_state] =>
[x_zip] =>
[x_country] =>
[x_phone] =>
[x_fax] =>
[x_email] =>
[x_ship_to_first_name] =>
[x_ship_to_last_name] =>
[x_ship_to_company] =>
[x_ship_to_address] =>
[x_ship_to_city] =>
[x_ship_to_state] =>
[x_ship_to_zip] =>
[x_ship_to_country] =>
[x_tax] => 0.0000
[x_duty] => 0.0000
[x_freight] => 0.0000
[x_tax_exempt] => FALSE
[x_po_num] =>
[x_MD5_Hash] => 2A4A7F63DB4390A317E4988430FFA4
[x_cvv2_resp_code] =>
[x_cavv_response] =>
[x_test_request] => false
)