我有两个型号,Product& Pdetail,一切都运行良好,hasMany和belongsTo也工作,我可以通过修补关系检查和创建userdetail记录但是当我把我的模型放在app \ Models文件夹中我无法得到我的模型之间的关系,我在所有{models} .php中将我的名称空间更改为App \ Models。我也检查了修补程序,无法在修补程序或控制器中获得hasMany关系,例如修补程序
$product=App\Product::find (3);
$pdetail= new App\Pdetail;
$pdetail->body='some text about it';
$product->pdetail(s)->save($pdetail); //(s)for hasOne or hasMany based on models
这很好用 但改变位置后:
$product=App\models\Product::find (3);
$pdetail= new App\Models\Pdetail;
$pdetail->body='Some text about it';
$product->pdetail(s)->save($pdetail);
返回'坏方法调用', 我也改变了模型文件中的名称空间(名称空间App \ Mpdels) 有人可以帮忙吗? 我的product.php模型:
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Product extends Model
{
//
public function pdetail ()
{
return $this->hasOne('App\Models\Pdetail');
}
和Pdetail.php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Pdetail extends Model
{
//
public function product ()
{
return $this->belongsTO('App\Models\Product');
}
}
in tinker
$产物=应用\模型\产品::第一(); => App \ Models \ Product {#768 id:1, 名称:“HTC 10”, 价格:“11111”, avatar:“index1.jpg”, pcount:“7”, cat_id:2, created_at:“2018-01-19 20:14:54”, updated_at:“2018-01-19 20:14:54”, } $ pdetail = new App \ Models \ Pdetail; => App \ Models \ Pdetail {#755} $产品 - > pdetail(); BadMethodCallException,带有消息'调用未定义的方法Illuminate \ Database \ Query \ Builder :: pdetail()'
答案 0 :(得分:0)
感谢 @ Sohel0415 我将这些命令绑定了3-4次,问题解决了,不知道为什么在第一次使用时没有工作。
composer dump-autoload
cache:clear
php artisan view:clear
php artisan config:clear
非常感谢