with()
- это когда вы изначально получаете модель (и). Если у вас уже есть модель (ы), вы можете вместо этого использовать load()
. Это называется ленивая нетерпеливая загрузка .
public function show(Standard $standard)
{
$standard->load('stream');
return response()->json(['data' => $standard], 200);
}
Вы не можете использовать точку в имени базы данных. Кроме того, я бы избегал использовать его в любом идентификаторе. Обычное соглашение - использовать вместо этого подчеркивание. Это будет служить той же цели и позволит избежать путаницы. Если у вас действительно есть веская причина для использования странных и в противном случае недопустимых символов в имени таблицы или поля, то вам нужно экранировать его.
для экранирования идентификаторов в MySQL используйте обратную галочку: [1216 На мой взгляд, хорошая привычка ставить обратные галочки во всех именах полей независимо от того, нужен ли вам , но это уже другая история.
Вы можете использовать .
в именах из MySQL 5.1.6 согласно документации .
Однако, как было сказано и будет сказано еще раз, , пожалуйста, не делайте этого. Для каждой проблемы, которую вы решаете сейчас, вы создадите пять, которые будут кусать вас позже. Поскольку . используется для определения имен - например, database.table
или table.column
вам придется указывать имя вашей базы данных каждый раз, когда вы его используете. *
Вы можете сделать это с обратные пометки:
CREATE TABLE `do.not.do.this` (col INT);
или использование двойных кавычек, если вы установили следующую опцию:
SET sql_mode='ANSI_QUOTES';
CREATE TABLE "asking.for.problems" (col INT);
* Не совсем верно - вы должны заключать в кавычки любой символ, который не является буквенно-цифровым или _
или $
, но . Это особенно хлопотный вариант, чтобы иметь на ваши имена.
Before MySQL 5.1.6, database and table names cannot contain /
, \
, .
, or characters that are not allowed in file names (see 8.2. Schema Object Names).
In versions after 5.1.6 you have to quote your tablename with a backtick (`
) - but as others also advised: you shouldn't do this to prevent any unnecessary trouble.
MySQL 5.0.22 не позволяет это делать:
% mysqladmin -uroot -pXXX create foo.bar
mysqladmin: CREATE DATABASE failed; error: 'Incorrect database name 'foo.bar''
Даже если бы это было разрешено, я настоятельно рекомендовал бы против этого.
По крайней мере, вам нужно было бы избегать любых ссылок на эту базу данных с обратными галочками в каждом отдельном запросе, который когда-либо его использует.