получить имя из другой таблицы

Вам понадобится наследование. Попробуйте следующее:

// _ClassA.h
class _ClassA
{
  friend class ClassA;
private:
  //all your private methods here, accessible only from ClassA and _ClassA.
}

// ClassA.h
class ClassA: _ClassA
{
  friend class ClassB;
private:
  //all_your_methods
}

Таким образом, у вас есть: ClassB - единственный, который сможет использовать ClassA. ClassB не могут получить доступ к _ClassA методам, которые являются частными.

0
задан unknown 17 January 2019 в 07:43
поделиться

2 ответа

Предположим, что ваша модель называется Note.php

. Предположим, в вашей таблице notes есть внешний ключ note_status_id и note_type_id

. Добавьте связь в основную модель Note.php.

public function status()
{
    return $this->belongsTo(NoteStatus::class);
}

public function notes()
{
    return $this->belongsTo(NoteType::class);
}

Вы можете получить данные с такими отношениями

Note::with('status','notes')
     ->get()

Для получения дополнительной информации о взаимоотношениях Laravel Laravel Eloquent: Отношения

0
ответ дан bhavinjr 17 January 2019 в 07:43
поделиться

Модель отношений

Настройка отношений между вашими моделями была бы наилучшим способом, так как вам не нужно заново изобретать колесо каждый раз, когда вам нужно вызвать соединение. Это сохранит ваш код в долгосрочной перспективе.

Подробнее об этом здесь:

Laravel Eloquent Relationships

Конструктор запросов

Если вы хотите сделать это вручную, то это будет так же, как если бы вы запустили запрос в сыром SQL:

$note = Note::join('NoteType','Note.NoteType_id','NoteType.id')
->select('Note.*','NoteType.Name as NoteName')
->first();

Теперь вы можете получить всю информацию из $ note

Note id = $note->id
NoteType Name = $note->NoteName

Очевидно, измените это в своем коде, но это должно помочь построить свои знания достаточно, чтобы решить это.

Более подробную информацию можно найти здесь:

Присоединение Laravel Query Builder

0
ответ дан Petay87 17 January 2019 в 07:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: