小编Kar*_*ill的帖子

如何在 Laravel 中在 MIN 和 MAX 之间搜索

我知道在 MySQL 中查询看起来像这样......

SELECT id 
    FROM listings 
    WHERE id  IN (
      SELECT id
      FROM listings
      WHERE price between 200 and 500
    );
Run Code Online (Sandbox Code Playgroud)

在 Laravel 查询中我尝试过......

Listing::select('listings.*')
    ->whereBetween('price', [200, 500])
    ->groupBy('listings.id')
    ->orderBy('listings.id', 'desc')
    ->paginate(1000);
Run Code Online (Sandbox Code Playgroud)

它只向我显示一个结果。我是不是哪里搞错了?感谢您的帮助!

laravel laravel-5 laravel-5.1

5
推荐指数
1
解决办法
2134
查看次数

使用 Laravel 和 PHP 制作文本文件

我想问个问题。我是 Laravel 框架的新手。我想使用 Laravel 框架从输入表单数据用户创建一个文本文件。同时,我想将这些输入保存到我的数据库中。

我已成功保存在我的数据库中。但我无法从中创建 .txt 文件。

我尝试从数据库获取数据但出现错误。我只是尝试从输入表单获取数据也是一个错误。

我试过了...

<?php

    $nama     = $_POST['name'];
    $email    = $_POST['email'];
    $dob      = $_POST['date'];
    $phone    = $_POST['phone'];
    $gender   = $_POST['gender'];
    $address  = $_POST['addreess'];
    $date     = date('dmY');
    $jam      = data('his');

    $data = "$nama,$email,$dob,$phone,$gender,$address";
    $file = "$nama"-"$date$jam";
    $namafile = "$file.txt";  

    $fh = fopen($namafile,"w");  
    fwrite($fh,$data);

    fclose($file);  

    echo "<h2>Hasil Penyimpanan Data</h2>";  
    echo "<hr>";  
    echo "Hasil : <a href='$namafile'> $namafile </a>";
Run Code Online (Sandbox Code Playgroud)

我在 index.php 中使用它,这样我可以直接从输入表单获取数据,然后保存为 .txt 文件。

这是我在控制器中保存到数据库的代码:

public function store(Request $request)
{
    $employee = new Employee();
    $employee->nama = $request->get('name'); …
Run Code Online (Sandbox Code Playgroud)

php frameworks laravel

5
推荐指数
1
解决办法
2万
查看次数

Laravel Mix 将文件夹中的每个 JS 编译为另一个文件作为单独的文件

我需要一种方法使用 Laravel Mix 将文件夹中的每个 JS 文件编译为另一个文件作为单独的文件。

laravel-mix

5
推荐指数
0
解决办法
243
查看次数

当我使用 Laravel Nova 时,.gitignore 中要包含哪些目录?

我应该避免将 Laravel Nova 应用程序 (.gitignore) 推送到 GitHub 的哪些目录?只是 /nova 目录吗?我想这些目录应该推送到 GitHub,并且我不会影响 Laravel Nova 许可证,对吗?

  • /应用程序/新星
  • /公共/供应商/nova
  • /资源/lang/供应商/nova
  • /资源/视图/供应商/nova

laravel laravel-nova

5
推荐指数
0
解决办法
921
查看次数

将 Auth 中间件应用于所有 Laravel 路由

当我在所有控制器中应用身份验证中间件时,除了登录和注册之外,对所有路由进行身份验证的正确方法是什么?有没有办法在一个地方应用身份验证中间件并排除登录、注册路由?

laravel laravel-routing laravel-5 laravel-middleware

5
推荐指数
3
解决办法
1万
查看次数

使用嵌套集合直接在 Laravel Nova 中创建新资源

我正在使用 Laravel Nova。我有一个公司的资源,应该有一个地址。地址存储在不同的全局地址资源中。创建公司时如何直接添加地址信息?

这就是为什么我现在有这个字段:

public function fields(Request $request)
{
    return [
        ID::make()->sortable(),
        Text::make('Company name', 'name')->sortable()->rules('required', 'max:255'),
        Text::make('Website', 'website')->hideFromIndex()->rules('nullable', 'url'),
        Markdown::make('Info')->alwaysShow(),
        BelongsTo::make('User')->searchable()->rules('required'),

        ## Address Resource needs
        Place::make('Streetname and number', 'address.address')->hideWhenUpdating(),
        Text::make('City', 'address.city')->hideWhenUpdating(),
        Text::make('Zipcode', 'address.postcode')->hideWhenUpdating(),
        Text::make('Latitude', 'address.latitude')->hideWhenUpdating(),
        Text::make('Longitude', 'address.longitude')->hideWhenUpdating(),

        // BelongsTo::make('Address')->searchable()->rules('required')->hideWhenCreating(),
    ];
}
Run Code Online (Sandbox Code Playgroud)

但是,这不起作用。我在文档中看不到任何关于存储嵌套关系的内容;那可能吗?

laravel laravel-nova

5
推荐指数
1
解决办法
1283
查看次数

Laravel 表单验证在表单错误时重定向回主页,而不是停留在同一页面

我有一个联系表单,提交后可以成功发送到数据库。问题是当我在网页上检查验证时。使用 Laravel $error 验证可以正确显示错误。问题是,当出现错误时,我的网页总是重定向回主页,而不是页面仍然显示错误。我必须继续向下滚动到我的联系表所在的位置才能看到错误;这会惹恼我未来的用户。如果出现错误,如何使页面保持在原来的位置?注意:当表单有效并提交时,我的页面会正确重定向。这不是问题。注 2:我创建了一个单页网页,导航链接会将您带到该网页。没有重定向。相反,它是一个 HTML 页面。

网页.php

Route::get('/', 'HomeController@index')->name('home');
Route::post('/contact/submit', 'MessagesController@submit');
Run Code Online (Sandbox Code Playgroud)

消息控制器.php

namespace App\Http\Controllers;

use App\Message;
use Illuminate\Http\Request;

class MessagesController extends Controller
{
    public function submit(Request $request)
    {
        $validatedData = $request->validate([
            'name' => 'required|min:2',
            'email' => 'required|max:255',
            'phonenumber' => 'required|min:10|max:10',
            'message' => 'required|min:5',
        ]);

        Message::create($validatedData);

        return redirect('/')->with('success', 'Your message has been 
            successfully sent. We will reach out to you soon');
    }
}
Run Code Online (Sandbox Code Playgroud)

contact.blade.php

{{--CONTACT FORM--}}
<section id="contact">
    <div class="container-fluid padding">
        <div class="row text-center padding">
            <div class="col-12">
                <h2 class="lead display-3">Contact …
Run Code Online (Sandbox Code Playgroud)

laravel laravel-blade

5
推荐指数
2
解决办法
1万
查看次数

从Laravel发送Firebase推送通知

我正在编写一个iOS应用程序,使用laravel for API和google firebase来推送通知。当我使用Firebase云消息传递发送推送通知时,它会出现在我的设备上。当我使用laravel发送推送通知时,它不受影响。这是我的用于从laravel发送推送通知的脚本:

function sendNotification(Request $request)
{
    $friendToken = [];
    $usernames = $request->all()['friend_usernames'];
    $dialog_id = $request->all()['dialog_id'];
    foreach ($usernames as $username) {
        $friendToken[] = DB::table('users')->where('user_name', $username)
            ->get()->pluck('device_token')[0];
    }

    $url = 'https://fcm.googleapis.com/fcm/send';
    foreach ($friendToken as $tok) {
        $fields = array(
            'to' => $tok,
            'data' => $message = array(
                "message" => $request->all()['message'],
                "dialog_id" => $dialog_id
            )
        );
        $headers = array(
            'Authorization: key=*mykey*',
            'Content-type: Application/json'
        );
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, …
Run Code Online (Sandbox Code Playgroud)

ios laravel firebase swift firebase-cloud-messaging

5
推荐指数
1
解决办法
3290
查看次数

Laravel中如何在没有连接数据库的情况下模拟模型

index()我尝试测试控制器的方法。在这个方法中,有一个模型。

class UserController extends Controller
{        
     public function index()
     {
        return User::all();
     }
}
Run Code Online (Sandbox Code Playgroud)

在测试课上,我有以下内容。

class UserControllerTest extends TestCase
{
    public function testIndex():void
    {
        $user = factory(User::class)->make();
        $mock = Mockery::mock(User::class);
        $mock->shouldReceive('all')->andReturn($user);
        $this->app->instance('User', $mock);
        $response = $this->json('GET', 'api/users');
        dd($response->getContent()); // error : [2002] Connection refused
    }

}
Run Code Online (Sandbox Code Playgroud)

当我运行测试时,与数据库的连接出现错误。这很奇怪,因为我模拟了该模型,这意味着我不需要建立与数据库的连接。我该如何解决这个错误?

错误

SQLSTATE[HY000] [2002] 连接被拒绝(SQL:select * from users where users.deleted_at为空)

phpunit mocking laravel laravel-6

5
推荐指数
1
解决办法
3659
查看次数

Laravel 5.7/6.x 的 PhpDocumentor

这可能是一个非常新手的问题,但是,您到底如何使用 phpDocumentor 通过 Laravel 生成文档?在我的 Laravel 项目中,目录中没有phpdocvendor/bin,并且尝试通过 Composer 安装 phpDocumentor 失败(如 GitHub 页面上的建议)。

我找不到任何有关它的最新资源,我唯一幸运的是phpDocumentor.phar从终端运行该文件,但最新版本立即失败。

php phpdoc laravel laravel-5.7 laravel-6

5
推荐指数
1
解决办法
2189
查看次数