我在Contact.php模型這兩種方法:
public function getSubscribers($listId)
{
return $this->withTrashed()
->where(DB::raw("concat('',email * 1)"), '!=', DB::raw('email'))
->where('opt_out', '0')
->select('email')
->chunk(1000, function($results) use ($listId) { $this->subscribeEmails($listId, $results); });
}
public function subscribeEmails($listId, $subscribers)
{
$emails = array();
foreach ($subscribers as $key => $subscriber)
{
$memberActivity = $subscriber->memberActivity($listId);
if (! $memberActivity['data'])
{
$emails[] = array('email' => $subscriber->email);
}
else
{
foreach ($memberActivity['data'] as $data)
{
foreach ($data['activity'] as $activity)
{
if ($activity['action'] !== 'unsub')
{
$emails[] = array('email' => $subscriber->email);
}
}
}
}
}
MailchimpWrapper::lists()->batchSubscribe($listId, $emails, false, true);
}
而且getSubscribers()方法是通過方法調用,我AdminContactsController.php控制器所謂updateMailchimp():
public function updateMailchimp()
{
$this->contact->getSubscribers($this->listId);
$message = (object) array(
'title' => 'Excellent!',
'content' => 'The Mailchimp newsletter list has been updated with the latest contacts from within the system.',
'alert_type' => 'success'
);
return Redirect::back()->with('message', $message);
}
本地,這在所有的可升級服務器上的偉大工程,沒有問題,我得到以下錯誤引用該行cotaining - >塊(1000,函數($結果)使用( $ listId){$ this-> subscribeEmails($ listId,$ results);});:
Using $this when not in object context
這是PHP版本的問題還是我在這裏丟失了一些東西?
你能否告訴我們,該行究竟你在收到此錯誤? – matewka
是啊,它的 - >塊(1000,函數($結果)使用($ listId){$ this-> subscribeEmails($ listId,$ results);}); –