本文整理汇总了PHP中app\models\Activity::where方法的典型用法代码示例。如果您正苦于以下问题:PHP Activity::where方法的具体用法?PHP Activity::where怎么用?PHP Activity::where使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类app\models\Activity
的用法示例。
在下文中一共展示了Activity::where方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: index
public function index()
{
// total_income, billed_clients, invoice_sent and active_clients
$select = DB::raw('COUNT(DISTINCT CASE WHEN invoices.id IS NOT NULL THEN clients.id ELSE null END) billed_clients,
SUM(CASE WHEN invoices.invoice_status_id >= ' . INVOICE_STATUS_SENT . ' THEN 1 ELSE 0 END) invoices_sent,
COUNT(DISTINCT clients.id) active_clients');
$metrics = DB::table('accounts')->select($select)->leftJoin('clients', 'accounts.id', '=', 'clients.account_id')->leftJoin('invoices', 'clients.id', '=', 'invoices.client_id')->where('accounts.id', '=', Auth::user()->account_id)->where('clients.is_deleted', '=', false)->where('invoices.is_deleted', '=', false)->where('invoices.is_recurring', '=', false)->where('invoices.is_quote', '=', false)->groupBy('accounts.id')->first();
$select = DB::raw('SUM(clients.paid_to_date) as value, clients.currency_id as currency_id');
$paidToDate = DB::table('accounts')->select($select)->leftJoin('clients', 'accounts.id', '=', 'clients.account_id')->where('accounts.id', '=', Auth::user()->account_id)->where('clients.is_deleted', '=', false)->groupBy('accounts.id')->groupBy(DB::raw('CASE WHEN clients.currency_id IS NULL THEN CASE WHEN accounts.currency_id IS NULL THEN 1 ELSE accounts.currency_id END ELSE clients.currency_id END'))->get();
$select = DB::raw('AVG(invoices.amount) as invoice_avg, clients.currency_id as currency_id');
$averageInvoice = DB::table('accounts')->select($select)->leftJoin('clients', 'accounts.id', '=', 'clients.account_id')->leftJoin('invoices', 'clients.id', '=', 'invoices.client_id')->where('accounts.id', '=', Auth::user()->account_id)->where('clients.is_deleted', '=', false)->where('invoices.is_deleted', '=', false)->where('invoices.is_quote', '=', false)->where('invoices.is_recurring', '=', false)->groupBy('accounts.id')->groupBy(DB::raw('CASE WHEN clients.currency_id IS NULL THEN CASE WHEN accounts.currency_id IS NULL THEN 1 ELSE accounts.currency_id END ELSE clients.currency_id END'))->get();
$select = DB::raw('SUM(clients.balance) as value, clients.currency_id as currency_id');
$balances = DB::table('accounts')->select($select)->leftJoin('clients', 'accounts.id', '=', 'clients.account_id')->where('accounts.id', '=', Auth::user()->account_id)->where('clients.is_deleted', '=', false)->groupBy('accounts.id')->groupBy(DB::raw('CASE WHEN clients.currency_id IS NULL THEN CASE WHEN accounts.currency_id IS NULL THEN 1 ELSE accounts.currency_id END ELSE clients.currency_id END'))->get();
$activities = Activity::where('activities.account_id', '=', Auth::user()->account_id)->where('activity_type_id', '>', 0)->orderBy('created_at', 'desc')->take(50)->get();
$pastDue = DB::table('invoices')->leftJoin('clients', 'clients.id', '=', 'invoices.client_id')->leftJoin('contacts', 'contacts.client_id', '=', 'clients.id')->where('invoices.account_id', '=', Auth::user()->account_id)->where('clients.deleted_at', '=', null)->where('contacts.deleted_at', '=', null)->where('invoices.is_recurring', '=', false)->where('invoices.balance', '>', 0)->where('invoices.is_deleted', '=', false)->where('invoices.deleted_at', '=', null)->where('contacts.is_primary', '=', true)->where('invoices.due_date', '<', date('Y-m-d'))->select(['invoices.due_date', 'invoices.balance', 'invoices.public_id', 'invoices.invoice_number', 'clients.name as client_name', 'contacts.email', 'contacts.first_name', 'contacts.last_name', 'clients.currency_id', 'clients.public_id as client_public_id', 'is_quote'])->orderBy('invoices.due_date', 'asc')->take(50)->get();
$upcoming = DB::table('invoices')->leftJoin('clients', 'clients.id', '=', 'invoices.client_id')->leftJoin('contacts', 'contacts.client_id', '=', 'clients.id')->where('invoices.account_id', '=', Auth::user()->account_id)->where('clients.deleted_at', '=', null)->where('contacts.deleted_at', '=', null)->where('invoices.deleted_at', '=', null)->where('invoices.is_recurring', '=', false)->where('invoices.balance', '>', 0)->where('invoices.is_deleted', '=', false)->where('contacts.is_primary', '=', true)->where('invoices.due_date', '>=', date('Y-m-d'))->orderBy('invoices.due_date', 'asc')->take(50)->select(['invoices.due_date', 'invoices.balance', 'invoices.public_id', 'invoices.invoice_number', 'clients.name as client_name', 'contacts.email', 'contacts.first_name', 'contacts.last_name', 'clients.currency_id', 'clients.public_id as client_public_id', 'is_quote'])->get();
$payments = DB::table('payments')->leftJoin('clients', 'clients.id', '=', 'payments.client_id')->leftJoin('contacts', 'contacts.client_id', '=', 'clients.id')->leftJoin('invoices', 'invoices.id', '=', 'payments.invoice_id')->where('payments.account_id', '=', Auth::user()->account_id)->where('clients.deleted_at', '=', null)->where('contacts.deleted_at', '=', null)->where('contacts.is_primary', '=', true)->select(['payments.payment_date', 'payments.amount', 'invoices.public_id', 'invoices.invoice_number', 'clients.name as client_name', 'contacts.email', 'contacts.first_name', 'contacts.last_name', 'clients.currency_id', 'clients.public_id as client_public_id'])->orderBy('payments.id', 'desc')->take(50)->get();
$hasQuotes = false;
foreach ([$upcoming, $pastDue] as $data) {
foreach ($data as $invoice) {
if ($invoice->is_quote) {
$hasQuotes = true;
}
}
}
$data = ['account' => Auth::user()->account, 'paidToDate' => $paidToDate, 'balances' => $balances, 'averageInvoice' => $averageInvoice, 'invoicesSent' => $metrics ? $metrics->invoices_sent : 0, 'activeClients' => $metrics ? $metrics->active_clients : 0, 'activities' => $activities, 'pastDue' => $pastDue, 'upcoming' => $upcoming, 'payments' => $payments, 'title' => trans('texts.dashboard'), 'hasQuotes' => $hasQuotes];
return View::make('dashboard', $data);
}
示例2: autoBillInvoice
/**
* @param Invoice $invoice
* @return bool
*/
public function autoBillInvoice(Invoice $invoice)
{
/** @var \App\Models\Client $client */
$client = $invoice->client;
/** @var \App\Models\Account $account */
$account = $client->account;
/** @var \App\Models\Invitation $invitation */
$invitation = $invoice->invitations->first();
if (!$invitation) {
return false;
}
if ($credits = $client->credits->sum('balance')) {
$balance = $invoice->balance;
$amount = min($credits, $balance);
$data = ['payment_type_id' => PAYMENT_TYPE_CREDIT, 'invoice_id' => $invoice->id, 'client_id' => $client->id, 'amount' => $amount];
$payment = $this->paymentRepo->save($data);
if ($amount == $balance) {
return $payment;
}
}
$paymentDriver = $account->paymentDriver($invitation, GATEWAY_TYPE_TOKEN);
if (!$paymentDriver) {
return false;
}
$customer = $paymentDriver->customer();
if (!$customer) {
return false;
}
$paymentMethod = $customer->default_payment_method;
if ($paymentMethod->requiresDelayedAutoBill()) {
$invoiceDate = \DateTime::createFromFormat('Y-m-d', $invoice->invoice_date);
$minDueDate = clone $invoiceDate;
$minDueDate->modify('+10 days');
if (date_create() < $minDueDate) {
// Can't auto bill now
return false;
}
if ($invoice->partial > 0) {
// The amount would be different than the amount in the email
return false;
}
$firstUpdate = Activity::where('invoice_id', '=', $invoice->id)->where('activity_type_id', '=', ACTIVITY_TYPE_UPDATE_INVOICE)->first();
if ($firstUpdate) {
$backup = json_decode($firstUpdate->json_backup);
if ($backup->balance != $invoice->balance || $backup->due_date != $invoice->due_date) {
// It's changed since we sent the email can't bill now
return false;
}
}
if ($invoice->payments->count()) {
// ACH requirements are strict; don't auto bill this
return false;
}
}
return $paymentDriver->completeOnsitePurchase(false, $paymentMethod);
}
示例3: up
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('activities', function ($table) {
$table->boolean('is_system')->default(0);
});
$activities = Activity::where('message', 'like', '%<i>System</i>%')->get();
foreach ($activities as $activity) {
$activity->is_system = true;
$activity->save();
}
Schema::table('activities', function ($table) {
$table->dropColumn('message');
});
}
示例4: index
public function index()
{
// total_income, billed_clients, invoice_sent and active_clients
$select = DB::raw('COUNT(DISTINCT CASE WHEN invoices.id IS NOT NULL THEN clients.id ELSE null END) billed_clients,
SUM(CASE WHEN invoices.invoice_status_id >= ' . INVOICE_STATUS_SENT . ' THEN 1 ELSE 0 END) invoices_sent,
COUNT(DISTINCT clients.id) active_clients');
$metrics = DB::table('accounts')->select($select)->leftJoin('clients', 'accounts.id', '=', 'clients.account_id')->leftJoin('invoices', 'clients.id', '=', 'invoices.client_id')->where('accounts.id', '=', Auth::user()->account_id)->where('clients.is_deleted', '=', false)->where('invoices.is_deleted', '=', false)->where('invoices.is_recurring', '=', false)->where('invoices.is_quote', '=', false)->groupBy('accounts.id')->first();
$select = DB::raw('SUM(clients.paid_to_date) as value, clients.currency_id as currency_id');
$paidToDate = DB::table('accounts')->select($select)->leftJoin('clients', 'accounts.id', '=', 'clients.account_id')->where('accounts.id', '=', Auth::user()->account_id)->where('clients.is_deleted', '=', false)->groupBy('accounts.id')->groupBy(DB::raw('CASE WHEN clients.currency_id IS NULL THEN CASE WHEN accounts.currency_id IS NULL THEN 1 ELSE accounts.currency_id END ELSE clients.currency_id END'))->get();
$select = DB::raw('AVG(invoices.amount) as invoice_avg, clients.currency_id as currency_id');
$averageInvoice = DB::table('accounts')->select($select)->leftJoin('clients', 'accounts.id', '=', 'clients.account_id')->leftJoin('invoices', 'clients.id', '=', 'invoices.client_id')->where('accounts.id', '=', Auth::user()->account_id)->where('clients.is_deleted', '=', false)->where('invoices.is_deleted', '=', false)->groupBy('accounts.id')->groupBy(DB::raw('CASE WHEN clients.currency_id IS NULL THEN CASE WHEN accounts.currency_id IS NULL THEN 1 ELSE accounts.currency_id END ELSE clients.currency_id END'))->get();
$activities = Activity::where('activities.account_id', '=', Auth::user()->account_id)->where('activity_type_id', '>', 0)->orderBy('created_at', 'desc')->take(14)->get();
$pastDue = Invoice::scope()->where('due_date', '<', date('Y-m-d'))->where('balance', '>', 0)->where('is_recurring', '=', false)->where('is_quote', '=', false)->where('is_deleted', '=', false)->orderBy('due_date', 'asc')->take(6)->get();
$upcoming = Invoice::scope()->where('due_date', '>=', date('Y-m-d'))->where('balance', '>', 0)->where('is_recurring', '=', false)->where('is_quote', '=', false)->where('is_deleted', '=', false)->orderBy('due_date', 'asc')->take(6)->get();
$data = ['paidToDate' => $paidToDate, 'averageInvoice' => $averageInvoice, 'invoicesSent' => $metrics ? $metrics->invoices_sent : 0, 'activeClients' => $metrics ? $metrics->active_clients : 0, 'activities' => $activities, 'pastDue' => $pastDue, 'upcoming' => $upcoming];
return View::make('dashboard', $data);
}
示例5: activities
public function activities($accountId, $userId, $viewAll)
{
$activities = Activity::where('activities.account_id', '=', $accountId)->where('activities.activity_type_id', '>', 0);
if (!$viewAll) {
$activities = $activities->where('activities.user_id', '=', $userId);
}
return $activities->orderBy('activities.created_at', 'desc')->with('client.contacts', 'user', 'invoice', 'payment', 'credit', 'account', 'task')->take(50)->get();
}
示例6: viewGrades
public function viewGrades($id, $index = null, Subject $subject, Setting $setting, Activity $activity, Request $request)
{
$page_data = array('subject_id' => $id, 'subject' => $subject->find($id));
$subject_settings = $setting->where('subject_id', '=', $id)->first();
$name_cell = $subject_settings->name_cell;
$grade_cell = $subject_settings->grade_cell;
$header_row = $subject_settings->header_row;
$start_row = $subject_settings->start_row;
$end_row = $subject_settings->end_row;
$sheet_number = $subject_settings->sheet_number;
$cell_range = $subject_settings->cell_range;
$lec_xlsx = $subject_settings->lec_xlsx;
$lab_xlsx = $subject_settings->lab_xlsx;
$page_data['start_row'] = $start_row;
$page_data['end_row'] = $end_row;
$grades = $this->loadGrades($sheet_number, $cell_range, $lec_xlsx, $lab_xlsx);
if ($request->has('name')) {
$name = strtolower($request->input('name'));
$lec = $grades[0];
$filtered_lec = array_filter($lec, function ($row) use($name, $name_cell) {
if (preg_match('/' . $name . '/', strtolower($row[$name_cell]))) {
return $row;
}
});
if (!empty($filtered_lec)) {
$lec_key = key($filtered_lec);
$filtered_lec = $filtered_lec[$lec_key];
}
$lab = $grades[1];
$filtered_lab = array_filter($lab, function ($row) use($name, $name_cell) {
if (preg_match('/' . $name . '/', strtolower($row[$name_cell]))) {
return $row;
}
});
if (!empty($filtered_lab)) {
$lab_key = key($filtered_lab);
$filtered_lab = $filtered_lab[$lab_key];
}
$index = $lec_key;
}
if (!is_null($index)) {
$lec = $grades[0];
$filtered_lec = $lec[$index];
if (!empty($grades[1])) {
$lab = $grades[1];
$filtered_lab = $lab[$index];
}
}
if (!empty($filtered_lec)) {
$student_name = $filtered_lec[$name_cell];
$page_data['student_name'] = $student_name;
$page_data['lec_grades'] = array();
$lec_activities = $activity->where('subject_id', '=', $id)->where('component', '=', 'lec')->get();
foreach ($lec_activities as $al) {
$cell = $al['cell'];
$page_data['lec_grades'][] = $al['title'] . ' - ' . $filtered_lec[$cell] . '/' . $lec[$header_row][$cell];
}
$page_data['lec_grade'] = $filtered_lec[$grade_cell];
if (!empty($grades[1])) {
$lab_activities = $activity->where('subject_id', '=', $id)->where('component', '=', 'lab')->get();
$page_data['lab_grades'] = array();
foreach ($lab_activities as $al) {
$cell = $al['cell'];
$page_data['lab_grades'][] = $al['title'] . ' - ' . $filtered_lab[$cell] . '/' . $lab[$header_row][$cell];
}
$page_data['lab_grade'] = $filtered_lab[$grade_cell];
}
$page_data['has_result'] = true;
$page_data['prev_index'] = $index -= 1;
$page_data['next_index'] = $index += 2;
}
return view('grades', $page_data);
}