我正在尝试上传和检索我的Laravel项目中的图像.它在我的本地服务器上工作得很好,但在上传到实时服务器之后,它无法正常工作.
我正在使用nginx.
我试过了,php artisan storage:link但它说
"public/storage"目录已存在
我正在使用此行在新页面中打开存储的图像.
<a href="{{ url('/storage/images/'.$file->file_name) }}" title="">View</a>
Run Code Online (Sandbox Code Playgroud)
如果我将鼠标放在视图按钮上,它会显示以下链接:my_ip/storage/images/image.png我认为这是正确的.
但是,单击该链接会重定向到主页.
我收到此错误
传递给 Illuminate\Auth\SessionGuard::login() 的参数 1 必须实现接口 Illuminate\Contracts\Auth\Authenticatable,给定 null,在 C:\wamp\www\trstbillingapp\vendor\laravel\framework\src\Illuminate\Foundation 中调用\Auth\RegistersUsers.php 在第 35 行并定义
尝试使用此方法存储数据时:
protected function create(array $data)
{
$user = User::create([
'name' => $data['name'],
]);
return $user->notify(new UserRegister($data));
}
Run Code Online (Sandbox Code Playgroud)
如果我在没有通知的情况下存储数据,它会起作用:
protected function create(array $data)
{
$user = User::create([
'name' => $data['name'],
]);
return $user;
}
Run Code Online (Sandbox Code Playgroud)
请建议我另一种传递通知的方式。我正在使用 Laravel 5.4。
我在 Laravel 中存储多个值。在表单中,我为每个输入都有复选框,如果选中该输入的复选框,我想存储值。我面临的问题是,无论我选中哪个复选框,它总是从第一个输入值保存。如果我选中一个选项,它会存储第一个值。如果我检查两个选项,它会存储第一个和第二个值,依此类推。
这是复选框的表格
<input type="checkbox" name="checked[]" value="{{ $employee->id }}">
Run Code Online (Sandbox Code Playgroud)
商店方法
public function store(Request $request)
{
foreach ($request->employee_id as $key => $val) {
$payrolls = new Payroll;
if (isset($request->checked[$key])) {
$payrolls->basic = $request->basic[$key];
$payrolls->employee_id = $val;
$payrolls->save();
}
}
return redirect('/');
}
Run Code Online (Sandbox Code Playgroud) 我有以下查询,其中有一个关于两个模型之间关系的条件查询。我需要满足条件的出勤时间的总和。我已经尝试过以下方法,但它不起作用。
$users = User::with('attendance')
->whereHas('attendance', function (Builder $query) use ($end, $start) {
$query->whereBetween('date', [$start, $end])
->where('status', 2)
->select(DB::raw('SUM(hours) as h'));
})->orderBy('name')
->where('status', 0)
->get();
Run Code Online (Sandbox Code Playgroud)
在我的刀刃里
@foreach($users as $user)
{{ $user->h }}
@endforeach
Run Code Online (Sandbox Code Playgroud)
请帮忙
我正在尝试使用 Stripe 上托管的付款页面来使用 Stripe 结帐。Stripe 文档适用于纯 PHP。但对于 Laravel,它不会重定向到 Stripe 支付页面。在控制台中,它显示POST http://127.0.0.1:8000/stripe 419 (unknown status)和Error: SyntaxError: Unexpected token < in JSON at position 0。根据一些帖子,我添加https://checkout.stripe.com/了VerifyCsrfToken中间件。
结账页面:
<head>
...
<script src="https://polyfill.io/v3/polyfill.min.js?version=3.52.1&features=fetch"></script>
<script src="https://js.stripe.com/v3/"></script>
</head>
<body>
<button type="button" id="checkout-button">Checkout</button>
<script type="text/javascript">
var stripe = Stripe("{{ env('STRIPE_KEY') }}");;
var checkoutButton = document.getElementById("checkout-button");
checkoutButton.addEventListener("click", function () {
fetch("{{ route('stripe-store') }}", {
method: "POST",
})
.then(function (response) {
return response.json();
})
.then(function (session) {
return stripe.redirectToCheckout({ sessionId: session.id }); …Run Code Online (Sandbox Code Playgroud) 使用dompdf软件包在Laravel 5.4中下载PDF后,出现错误“找不到图像或类型未知”。这是方法
public function pdf()
{
$users = User::get();
$pdf = PDF::loadView('pdf', compact('users'));
return $pdf->download('Users.pdf');
}
Run Code Online (Sandbox Code Playgroud)
我的检视档案
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>PDF</title>
</head>
<body>
<div class="container">
<div class="row">
@foreach ($users as $user)
<img src="public/storage/images/{{ $user->profile_pic }}" alt="" style="width: 150px; height: 150px;">
@endforeach
</div>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
如果我尝试使用静态图片名称(如下所示),则可以使用
<img src="public/storage/images/image_1.jpg" alt="" style="width: 150px; height: 150px;">
Run Code Online (Sandbox Code Playgroud)
但不适用于动态名称。
请提出我该如何解决。
有 3 个 Livewire 组件UserIsExpired,每个组件分别有 3 个按钮UserIsActive。UserIsPending单击按钮时,它应该用其各自的组件替换先前的组件。
<button wire:click="$emit(active)">{{ __('Active') }}</button>
<button wire:click="$emit(pending)">{{ __('Pending') }}</button>
<button wire:click="$emit(expired)">{{ __('Expired') }}</button>
Run Code Online (Sandbox Code Playgroud)
视野中
<livewire:user-is-active :active="$active"/>
<livewire:user-is-pending :pending="$pending"/>
<livewire:user-is-expired :expired="$expired"/>
Run Code Online (Sandbox Code Playgroud)
组件示例
class UserIsExpired extends Component
{
protected $listeners = ['expired'];
public function render()
{
return <<<'blade'
<div>
{{-- The best athlete wants his opponent at his best. --}}
</div>
blade;
}
}
Run Code Online (Sandbox Code Playgroud)
Active单击按钮时,它应该加载UserIsActive组件。其他两个也是如此。
我一直在寻找 livewire 文档,但无法找到如何实现它。提前致谢。
我一直在尝试使用 3 个表格制作资产负债表。第一个表是供应商名称。第二个表是应付供应商,第三个表是支付给供应商,两者都与供应商表的外键相连。
我期待这样的结果:
供应商名称----------------------- 到期------------------------ - - - - 支付
name------------------- sum (数量*单价) ------------------sum (支付金额)
我的查询是
SELECT
tbl_supplier.supplier_name AS supplier,
SUM(tbl_payment.pay_amount) AS payment,
SUM(tbl_stock.stock_qnt * tbl_stock.stock_up) AS due
FROM
tbl_supplier
INNER JOIN
tbl_payment ON tbl_supplier.id = tbl_payment.supplier_id
INNER JOIN
tbl_stock ON tbl_supplier.id = tbl_stock.supplier_id
GROUP BY supplier_name
Run Code Online (Sandbox Code Playgroud)
但结果是到期金额乘以付款数量,反之亦然。
例如,如果供应商的应付总额为 1000,并且他已收到 3 次付款,则显示的应付总额为 3000,而不是 1000。
请帮忙。谢谢
我需要找到数组中2个日期之间的差异.这是数组:
$lists[] = date('Y-m-d', strtotime($user->created_at));
Run Code Online (Sandbox Code Playgroud)
输出的示例echo $lists[1];是2017-08-01
我试过了
$difftime = $lists[1]->diff($lists[0]);
echo $difftime->format('d');
Run Code Online (Sandbox Code Playgroud)
和 echo $lists[1]->diff($lists[0]);
两个都给我错误:
在字符串上调用成员函数diff()
我也试过了 echo date_diff($lists[1], $lists[0]);
它给出了错误
date_diff()期望参数1为DateTimeInterface,给定字符串
我知道这里有很多关于同一问题的问题,但我找不到适合我的解决方案.所以请帮助我.
6个项目并且有用户模型,这是用户模型中的一种方法
public function setPasswordAttribute($password)
{
$this->attributes['password'] = bcrypt($password);
}
Run Code Online (Sandbox Code Playgroud)
当我在这样的laravel中使用get()时,一切正常
User::get();
Run Code Online (Sandbox Code Playgroud)
它返回所有用户.我的问题是,有没有办法在模型中编写方法,可以返回有条件的用户,而不是像这样的所有用户
public function setRoleToGetData()
{
$user = Auth::user()->getSex // getSex is method in the model
if($user == 1)
return users in the whole program like this
User::where('user_sex','=',1)->get();
else
// return the reverse
}
Run Code Online (Sandbox Code Playgroud)
我不想写where('user_sex','=',1) in every time i want to get users
感谢