gpt4 book ai didi

laravel - 传递给 Illuminate\\Support\\Collection::__construct() 的参数 1 必须是数组类型,对象给定

转载 作者:行者123 更新时间:2023-12-04 18:09:53 25 4
gpt4 key购买 nike

路线:

Route::get('test', array('before' => 'auth', 'as' => 'asd', function()
{
$user = User::find('1'); //Auth::user();
$user->Persona->last_name = 'Blaine';
$user->push();
print_r($user->Persona);
exit;
}));

用户模型:

use Illuminate\Auth\UserInterface;
use Illuminate\Auth\Reminders\RemindableInterface;

class User extends Eloquent implements UserInterface, RemindableInterface {

protected $table = 'ucpm_users';
public function Persona()
{
return $this->belongsTo('Persona','persona');
}

角色模型:

class Persona extends Eloquent 
{

protected $table = 'metadata_personas';

public function User()
{
return $this->hasOne('User', 'persona');
}

public function Telefonos()
{
return $this->hasMany('Telefonos', 'persona');
}

}

当我 Push() 入口模型时,Laravel 抛出一个 ErrorException:

传递给 Illuminate\Support\Collection::__construct() 的参数 1 必须是数组类型,对象给定,在/var/www/laravel/vendor/laravel/framework/src/Illuminate/Support/Collection 中调用。 php 在第 41 行定义

入口脚本(模型和路由)在 laravel3 下完全正常工作,我不知道为什么这在 Laravel4 下不起作用。有帮助吗?

最佳答案

是的,正如我在评论中提到的,这是 Laravel 的一个错误。幸运的是,Taylor 刚刚在 github 上发布了一个修复程序。这是提交:

https://github.com/laravel/framework/commit/f41b86018cd3dc09dd5b216e98c3bfabf0653954

基本上你只需要将\vendor\laravel\framework\src\Illuminate\Support\Collection.php 中的第 41 行更改为 say

    return new static(is_array($items) ? $items : array($items));

应该这样做:)

关于laravel - 传递给 Illuminate\\Support\\Collection::__construct() 的参数 1 必须是数组类型,对象给定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16905220/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com