标签: tinker

PHP Artisan Tinker不使用Laravel 5.4和PHP 7.0.1

我刚刚在我的Laravel项目5.4中添加了修补程序.当我尝试运行时:

php artisan tinker
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

PHP Warning:  Uncaught ErrorException: require(/home/abdullah/php_apps/website): failed to open stream: Success in /home/abdullah/php_apps/website/vendor/laravel/tinker/src/ClassAliasAutoloader.php:51
Stack trace:
#0 /home/abdullah/php_apps/website/vendor/laravel/tinker/src/ClassAliasAutoloader.php(51): Illuminate\Foundation\Bootstrap\HandleExceptions->handleError(2, 'require(/home/a...', '/home/abdullah/...', 51, Array)
#1 /home/abdullah/php_apps/website/vendor/laravel/tinker/src/ClassAliasAutoloader.php(51): require()
#2 /home/abdullah/php_apps/website/vendor/laravel/tinker/src/ClassAliasAutoloader.php(33): Laravel\Tinker\ClassAliasAutoloader->__construct(Object(Psy\Shell), '/home/abdullah/...')
#3 /home/abdullah/php_apps/website/vendor/laravel/tinker/src/Console/TinkerCommand.php(59): Laravel\Tinker\ClassAliasAutoloader::register(Object(Psy\Shell), '/home/abdullah/...')
#4 [internal function]: Laravel\Tinker\Console\TinkerCommand->handle()
#5 /home/abdullah/php_apps/website/vendor/laravel/framework/src/Illuminate/Contai in /home/abdullah/php_apps/website/vendor/laravel/tinker/src/ClassAliasAutoloader.php on line 51
PHP Fatal error:  Laravel\Tinker\ClassAliasAutoloader::__construct(): Failed opening required '/home/abdullah/php_apps/website' (include_path='.:/home/abdullah/.phpbrew/php/php-7.0.1/lib/php') in /home/abdullah/php_apps/website/vendor/laravel/tinker/src/ClassAliasAutoloader.php on line 51


  [Symfony\Component\Debug\Exception\FatalErrorException]                                                                                                                         
  Laravel\Tinker\ClassAliasAutoloader::__construct(): Failed opening required '/home/abdullah/php_apps/website' (include_path='.:/home/abdullah/.phpbrew/php/php-7.0.1/lib/php')  
Run Code Online (Sandbox Code Playgroud)

我试过给各种文件夹权限.还尝试将Tinker类添加到console/kernel.php.

php php-7 laravel-5.4 tinker

11
推荐指数
1
解决办法
905
查看次数

我可以在 CLI 的一个条目中运行 Laravel Tinker 中的命令吗?

我想开始使用 Tinker 来更快地调试函数。问题是,对于每一次改变,我都需要停下来重新开始修补。

我希望我能使用像 mysql 这样的东西;你可以启动 mysql 并像这样进行查询,但你也可以运行类似的东西 mysql -u root -e "select * from users" ,它不需要启动 mysql 界面就可以工作。

所以我试图找到一种方法来做这样的事情

> tinker -e "User::find(1)->email"
"my.user@gmail.com"
>
Run Code Online (Sandbox Code Playgroud)

command-line-interface laravel tinker

11
推荐指数
1
解决办法
5635
查看次数

无法在 Tinker 中使用 Laravel Factory

我无法在 Laravel Tinker 中使用模型工厂。

//ItemFactory.php

class ItemFactory extends Factory
{
    /**
     * The name of the factory's corresponding model.
     *
     * @var string
     */
    protected $model = Item::class;

    /**
     * Define the model's default state.
     *
     * @return array
     */
    public function definition()
    {
        return [
            'name' => $this->faker->name,
            'slug' => $this->faker->slug(5, true),
            'code' => $this->faker->words(5, true),
            'description' => $this->faker->sentence,
            'price' => $this->faker->randomNumber(1000, 10000),
            'size' => $this->faker->randomElement(['Small', 'Medium', 'Large',]),
        ];
    }
}
Run Code Online (Sandbox Code Playgroud)

内部修补匠

>>> factory(App\Item::class)->create();
Run Code Online (Sandbox Code Playgroud)

它给我一个错误:

PHP 致命错误:在第 1 行的 …

php laravel tinker laravel-8

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

Auth在Laravel Tinker工作

从Tinker内部我想:

>>> Auth::loginUsingId(12);
=> false
>>> Auth::user();
=> null
>>> Auth::attempt(['email' => 'my@email.com']);
=> false
Run Code Online (Sandbox Code Playgroud)

我猜测,因为Auth通常使用会话数据,也许会话不适用于修补程序.

是否可以在修补程序中进行身份验证?

laravel laravel-5 laravel-5.3 tinker

7
推荐指数
1
解决办法
4191
查看次数

来自 Amazon Linux 2 (Elastic Beanstalk) 的 Laravel 工匠修补匠

我曾经tinker使用以下命令在以前的 Amazon AMI 上执行:

sudo -E -u webapp php artisan tinker
Run Code Online (Sandbox Code Playgroud)

现在我正在使用PHP 7.4 on Amazon Linux 2,当我执行上述命令时,出现此错误:

Unable to create PsySH runtime directory. Make sure PHP is able to write to /run/user/1000 in order to continue.
Run Code Online (Sandbox Code Playgroud)

所以,为了测试,我给了这个文件夹的完全权限,然后再次执行我的命令:

sudo chmod 777 /run/user/1000
sudo -E -u webapp php artisan tinker
Run Code Online (Sandbox Code Playgroud)

实际上,没有错误,但是诸如RDS_PASSWORD或之类的环境变量RDS_DB_NAME未加载,因此无法执行数据库操作:

Psy Shell v0.10.4 (PHP 7.4.4 — cli) by Justin Hileman
>>> env('RDS_DB_NAME')
 => null
>>> User::first()
 Illuminate/Database/QueryException with message 'SQLSTATE[HY000] [2002] Connection refused …
Run Code Online (Sandbox Code Playgroud)

php amazon-web-services laravel amazon-elastic-beanstalk tinker

7
推荐指数
1
解决办法
637
查看次数

如何使用 Laravel Tinker 编写新行

如何使用 Laravel Tinker 换行?

所以而不是: $users = User::all(); foreach($users as $user) {echo $user->email;}

我希望能够写成如下:

$users = User::all();

foreach($users as $user) {
   echo $user->email;
}
Run Code Online (Sandbox Code Playgroud)

是否可以?

laravel tinker

6
推荐指数
2
解决办法
5116
查看次数

BadMethodCallException 带有消息“调用未定义的方法 App\Models\Product::factory()”

在 Laravel 8 中,我可以使用工厂为用户生成虚拟数据,但我无法为产品生成数据。我收到以下错误:

error BadMethodCallException with message 'Call to undefined method App\Models\Product::factory()'. User_id in Product is the foreign key.
Run Code Online (Sandbox Code Playgroud)

我无法确定出了什么问题。

型号:Product.php

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Product extends Model
{
    //use HasFactory;
    protected $fillable = ['title', 'type', 'firstname', 'surname', 'price', 'papl'];
    
    public function user(){
        return $this->belongsTo(User::class);
    }


}
Run Code Online (Sandbox Code Playgroud)

型号:User.php

<?php

namespace App\Models;

use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;

class User extends Authenticatable
{
    use HasFactory, Notifiable;

    /**
     * The attributes that are …
Run Code Online (Sandbox Code Playgroud)

model factories laravel tinker laravel-8

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

Laravel - “工匠修补匠” -&gt; mkdir():权限被拒绝

我现在已经搜索了几个小时,但即使有类似的问题也找不到解决方案。

我正在尝试php artisan tinker使用用户webmaster(项目目录的所有者demo)在全新的 laravel 安装上运行,但出现以下错误:

In Configuration.php line 352:
mkdir(): Permission denied
Run Code Online (Sandbox Code Playgroud)

使用详细标志运行:

异常跟踪:Illuminate\Foundation\Bootstrap\HandleExceptions->handleError() at n/a:n/a mkdir() at /media/usb/drive1/websites/demo/vendor/psy/psysh/src/Psy/Configuration。 php:352 Psy\Configuration->getRuntimeDir() at /media/usb/drive1/websites/demo/vendor/psy/psysh/src/Psy/Shell.php:185 Psy\Shell->getDefaultCommands() at /media/ usb/drive1/websites/demo/vendor/symfony/console/Application.php:1211 Symfony\Component\Console\Application->init() 在 /media/usb/drive1/websites/demo/vendor/symfony/console/Application .php:435 Symfony\Component\Console\Application->add() 在 /media/usb/drive1/websites/demo/vendor/psy/psysh/src/Psy/Shell.php:134 Psy\Shell->add( ) 在 /media/usb/drive1/websites/demo/vendor/symfony/console/Application.php:421 Symfony\Component\Console\Application->addCommands() 在 /media/usb/drive1/websites/demo/vendor/laravel/tinker/src/Console/TinkerCommand.php:54 Laravel\Tinker\Console\TinkerCommand->handle() 在 n/a:n/a call_user_func_array() 在 /media/usb/drive1/websites/demo/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:29 Illuminate\Container\BoundMethod::Illuminate\Container{closure}() 在 /media /usb/drive1/websites/demo/vendor/laravel/framework/src/Illuminate/Container/ BoundMethod.php:87 Illuminate\Container\BoundMethod::callBoundMethod() 在 /media/usb/drive1/websites/demo/vendor/ laravel/framework/src/Illuminate/Container/BoundMethod.php:31 Illuminate\Container\BoundMethod::call() 在 /media/usb/drive1/websites/demo/vendor/laravel/framework/src/Illuminate/Container/Container .php:549 Illuminate\Container\Container->call() 在 /media/usb/drive1/websites/demo/vendor/laravel/framework/src/Illuminate/Console/Command.php:183 Illuminate\Console\Command->execute() 在 /media/usb/drive1/网站/演示/供应商/symfony/console/Command/Command.php:252 Symfony\Component\Console\Command\Command->run() 在 /media/usb/drive1/websites/demo/vendor/laravel/framework/src /Illuminate/Console/Command.php:170 Illuminate\Console\Command->run() 在 /media/usb/drive1/websites/demo/vendor/symfony/console/Application.php:938 …

php permissions laravel tinker laravel-artisan

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

如何获取所有符合 Laravel Tinker 标准的记录?

我可以使用以下命令获取第一个用户,他是 Laravel tinker 的管理员:

$adminUser = App\User::where('is_admin',true)->first();

我如何获得满足此条件的所有用户?

laravel tinker laravel-artisan

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

Laravel Artisan Tinker:在多行上写入命令

如何使用 Laravel Artisan Tinker 编写两行命令?

User::whereEmail('john.doe@home.com')
->get()
Run Code Online (Sandbox Code Playgroud)

PHP 解析错误:语法错误,第 1 行出现意外的 T_OBJECT_OPERATOR

laravel tinker laravel-artisan

4
推荐指数
2
解决办法
1532
查看次数