Answer the question
In order to leave comments, you need to log in
Why might the hasMany relationship not work in laravel?
Good afternoon,
There are 2 models - Stamps and Stamp Issues:
class Mark extends Model
{
protected $table = 'marks';
public function editions()
{
return $this->hasMany(Edition::class, 'mark_id');
}
}
class Edition extends Model
{
protected $table = 'editions';
public function mark()
{
return $this->belongsTo(Mark::class);
}
}
class MarksController extends Controller
{
public function show(Mark $mark)
{
dump($mark->name);
dd($mark->editions());
}
}
Article::find(1)->comments()->create(['body'=>'haha','user_id'=>1])
Mark::find(1)->editions()->create(['name'=>AhAhAhA]);
dd($mark->editions)
$editions = $mark->editions()->orderBy('sort')->get();
namespace App\Entity\Vehicle;
use App\Entity\Behaviors\ImagePublicBehavior;
use Cviebrock\EloquentSluggable\Sluggable;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Notifications\Notifiable;
class Mark extends Model
{
....
$mark->comments()->create(['body' => 'xxx', 'user_id' => 1]);
dd($mark->comments());
Answer the question
In order to leave comments, you need to log in
Название модели исправил с Mark на Brand, и ..... заработало. Чем ему Mark не нравился, ума не приложу. Я в тяжелом недоумении.
Скобки не нужны для получения данных:
$mark->editions
Скобки используются для связи между таблицами, например для сохранения
$mark->editions()->save($editions)
Как обычно — ВДРУГ в вопросе появляются «незначительные» дополнения в виде
use App\Entity\Behaviors\ImagePublicBehavior;
use Cviebrock\EloquentSluggable\Sluggable;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Notifications\Notifiable;
use Illuminate\Database\Eloquent\Model;
и проверить. Если поможет, то включать по одному и опять проверять.Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question