mgsmus Sabahtan beri benle ilgilendiğiniz için çok teşekkür ederim hocam eksik anlatıp sizi yordum kusura bakmayın. https://flareapp.io/share/OmVXrZw7 dediğiniz gibi ekleyince aldığım ekran bu. Daha fazla zorlamayacağım beyin devrelerim yandı denemediğim şey kalmadı dosyalarımın son hali alttadır. Tekrar tekrar teşekkür ederim hocam. Emeğinize ilginize sağlık
Excel dosyam

UsersImport sayfam
<?php
namespace App\Imports;
use App\Models\Company;
use App\Models\Bulk;
use Maatwebsite\Excel\Concerns\ToModel;
use Maatwebsite\Excel\Concerns\WithHeadingRow;
use Illuminate\Support\Str;
class UsersImport implements ToModel, WithHeadingRow
{
public $currentCompany;
public function __construct(Company $currentCompany)
{
$this->currentCompany = $currentCompany;
}
public function model(array $row)
{
$parakodu = 42;
return new Bulk([
'uid' => Str::orderedUuid(),
'company_id' => $this->currentCompany->id,
'display_name' => $row['adsoyad'],
'contact_name' => $row['adsoyadtekrar'],
'email' => $row['email'],
'phone' => $row['telefon'],
'website' => $row['tuzelgercek'],
'currency_id' => $parakodu,
'vat_number' => $row['vergimersis'],
'muvkodu' => $row['muvkodu'],
]);
}
}
Bulk.php sayfam
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Bulk extends Model
{
protected $table = 'customers';
protected $fillable = [
'uid', 'company_id', 'display_name', 'contact_name', 'email', 'phone', 'website', 'currency_id', 'vat_number', 'muvkodu'
];
}
CustomerController.php sayfam
<?php
namespace App\Http\Controllers\Application;
use App\Http\Controllers\Controller;
use App\Models\Customer;
use Illuminate\Http\Request;
use App\Models\User;
use App\Http\Requests\Application\Customer\Store;
use App\Http\Requests\Application\Customer\Update;
use Spatie\Activitylog\Models\Activity;
use Spatie\QueryBuilder\AllowedFilter;
use Spatie\QueryBuilder\QueryBuilder;
use App\Imports\UsersImport;
use Maatwebsite\Excel\Facades\Excel;
class CustomerController extends Controller
{
/**
* Display Customers Page
*
* @param \Illuminate\Http\Request $request
*
* @return \Illuminate\Http\Response
*/
public function index(Request $request)
{
$user = $request->user();
$currentCompany = $user->currentCompany();
// Get Customers by Company and Filters
$customers = QueryBuilder::for(Customer::findByCompany($currentCompany->id))
->allowedFilters([
AllowedFilter::partial('muvkodu'),
AllowedFilter::partial('contact_name'),
AllowedFilter::scope('has_unpaid'),
AllowedFilter::scope('from'),
AllowedFilter::scope('to'),
])
->oldest()
->paginate()
->appends(request()->query());
return view('application.customers.index', [
'customers' => $customers
]);
}
public function importexport(Request $request)
{
$user = $request->user();
$currentCompany = $user->currentCompany();
$currentCompany->subscription('main')->recordFeatureUsage('customers');
return view('application.customers.importexport');
}
public function import(Request $request)
{
$user = $request->user();
$currentCompany = $user->currentCompany();
$currentCompany->subscription('main')->recordFeatureUsage('customers');
Excel::import(new UsersImport($currentCompany), request()->file('file'));
return redirect()->route('customers', ['company_uid' => $currentCompany->uid])->with('success', 'Başarılı!');
}
/**
* Display the Form for Creating New Customer
*
* @return \Illuminate\Http\Response
*/
public function create()
{
$customer = new Customer();
return view('application.customers.create', [
'customer' => $customer,
]);
}
/**
* Store the Customer in Database
*
* @param \App\Http\Requests\Application\Customer\Store $request
*
* @return \Illuminate\Routing\Redirector|\Illuminate\Http\RedirectResponse
*/
public function store(Store $request)
{
$user = $request->user();
$currentCompany = $user->currentCompany();
// Redirect back
$canAdd = $currentCompany->subscription('main')->canUseFeature('customers');
if (!$canAdd) {
session()->flash('alert-danger', __('messages.you_have_reached_the_limit'));
return redirect()->route('customers', ['company_uid' => $currentCompany->uid]);
}
// Create Customer and Store in Database
$customer = Customer::create([
'company_id' => $currentCompany->id,
'display_name' => $request->display_name,
'contact_name' => $request->contact_name,
'email' => $request->email,
'phone' => $request->phone,
'website' => $request->website,
'muvkodu' => $request->muvkodu,
'currency_id' => $request->currency_id,
'vat_number' => $request->vat_number,
]);
// Set Customer's billing and shipping addresses
$customer->address('billing', $request->input('billing'));
$customer->address('shipping', $request->input('shipping'));
// Add custom field values
$customer->addCustomFields($request->custom_fields);
// Record product
$currentCompany->subscription('main')->recordFeatureUsage('customers');
// Upload Receipt File
if ($request->receipt) {
$request->validate(['receipt' => 'required|mimes:png,jpg,jpeg,pdf|max:8192']);
$path = $request->receipt->storeAs('receipts', 'receipt-'. $customer->id .'.'.$request->receipt->getClientOriginalExtension(), 'public_dir');
$customer->receipt = '/uploads/'.$path;
$customer->save();
}
session()->flash('alert-success', __('messages.customer_added'));
return redirect()->route('customers.details', ['customer' => $customer->id, 'company_uid' => $currentCompany->uid]);
}
/**
* Display the Customer Details Page
*
* @param \Illuminate\Http\Request $request
*
* @return \Illuminate\Http\Response
*/
public function details(Request $request)
{
$customer = Customer::findOrFail($request->customer);
$invoices = $customer->invoices()->orderBy('invoice_number')->paginate(50);
$payments = $customer->payments()->orderBy('payment_number')->paginate(50);
$activities = Activity::where('subject_id', $customer->id)->get();
return view('application.customers.details', [
'customer' => $customer,
'invoices' => $invoices,
'payments' => $payments,
'activities' => $activities,
]);
}
/**
* Display the Form for Editing Customer
*
* @param \Illuminate\Http\Request $request
*
* @return \Illuminate\Http\Response
*/
public function edit(Request $request)
{
$customer = Customer::findOrFail($request->customer);
// Fill model with old input
if (!empty($request->old())) {
$customer->fill($request->old());
}
return view('application.customers.edit', [
'customer' => $customer,
]);
}
/**
* Update the Customer in Database
*
* @param \App\Http\Requests\Application\Customer\Update $request
*
* @return \Illuminate\Routing\Redirector|\Illuminate\Http\RedirectResponse
*/
public function update(Update $request)
{
$user = $request->user();
$currentCompany = $user->currentCompany();
$customer = Customer::findOrFail($request->customer);
// Update Customer in Database
$customer->update([
'display_name' => $request->display_name,
'contact_name' => $request->contact_name,
'email' => $request->email,
'phone' => $request->phone,
'website' => $request->website,
'currency_id' => $request->currency_id,
'vat_number' => $request->vat_number,
'muvkodu' => $request->muvkodu,
]);
// Update Customer's billing and shipping addresses
$customer->updateAddress('billing', $request->input('billing'));
$customer->updateAddress('shipping', $request->input('shipping'));
// Update custom field values
$customer->updateCustomFields($request->custom_fields);
// Upload Receipt File
if ($request->receipt) {
$request->validate(['receipt' => 'required|mimes:png,jpg,jpeg,pdf|max:8192']);
$path = $request->receipt->storeAs('receipts', 'receipt-'. $customer->id .'.'.$request->receipt->getClientOriginalExtension(), 'public_dir');
$customer->receipt = '/uploads/'.$path;
$customer->save();
}
session()->flash('alert-success', __('messages.customer_updated'));
return redirect()->route('customers.details', ['customer' => $customer->id, 'company_uid' => $currentCompany->uid]);
}
/**
* Delete the Customer
*
* @param \Illuminate\Http\Request $request
*
* @return \Illuminate\Routing\Redirector|\Illuminate\Http\RedirectResponse
*/
public function delete(Request $request)
{
$user = $request->user();
$currentCompany = $user->currentCompany();
$customer = Customer::findOrFail($request->customer);
// If demo mode is active then block this action
if (config('app.is_demo') && $customer->email === 'customer@example.com') {
session()->flash('alert-danger', __('messages.action_blocked_in_demo'));
return redirect()->route('customers.details', ['customer' => $customer->id, 'company_uid' => $currentCompany->uid]);
};
// Reduce feature
$currentCompany->subscription('main')->reduceFeatureUsage('customers');
// Delete Customer's Invoices from Database
if ($customer->invoices()->exists()) {
$customer->invoices()->delete();
}
// Delete Customer's Payments from Database
if ($customer->payments()->exists()) {
$customer->payments()->delete();
}
// Delete Customer's Addresses from Database
if ($customer->addresses()->exists()) {
$customer->addresses()->delete();
}
// Delete Customer from Database
$customer->delete();
session()->flash('alert-success', __('messages.customer_deleted'));
return redirect()->route('customers', ['company_uid' => $currentCompany->uid]);
}
}